]> sigrok.org Git - libsigrok.git/commitdiff
Avoid warnings on all-zero static struct entries.
authorBert Vermeulen <redacted>
Mon, 25 Aug 2014 23:48:27 +0000 (01:48 +0200)
committerBert Vermeulen <redacted>
Mon, 25 Aug 2014 23:48:27 +0000 (01:48 +0200)
src/libsigrok-internal.h
src/output/ascii.c
src/output/bits.c
src/output/hex.c
src/output/wav.c

index fea409f06cadd7f57e32971469513291358ca317..6ce868834b0aab26b087d6cd130c20c4ec32f479 100644 (file)
        libusb_handle_events_timeout(ctx, tv)
 #endif
 
+/* Static definitions of structs ending with an all-zero entry are a
+ * problem when compiling with -Wmissing-field-initializers: GCC
+ * suppresses the warning only with { 0 }, clang wants { } */
+#ifdef __clang__
+#define ALL_ZERO { }
+#else
+#define ALL_ZERO { 0 }
+#endif
+
 struct sr_context {
 #ifdef HAVE_LIBUSB_1_0
        libusb_context *libusb_ctx;
index 9f69d0076040ba7269745984c1bf5e6caed6322e..b6baab1b611308df45f2b80f009d25ba1222a430 100644 (file)
@@ -235,7 +235,7 @@ static int cleanup(struct sr_output *o)
 
 static struct sr_option options[] = {
        { "width", "Width", "Number of samples per line", NULL, NULL },
-       { 0 }
+       ALL_ZERO
 };
 
 static const struct sr_option *get_options(void)
index 6b33f8d6534ec7dc23d6185c4d179b3d6e6c8a07..0a9ccc1a41d6f241fa003f9ea6ed5d07b198ac0a 100644 (file)
@@ -221,7 +221,7 @@ static int cleanup(struct sr_output *o)
 
 static struct sr_option options[] = {
        { "width", "Width", "Number of samples per line", NULL, NULL },
-       { 0 }
+       ALL_ZERO
 };
 
 static const struct sr_option *get_options(void)
index 6c0e15d5c51fb6ec5f29daaff2a8dc04ae9021df..67a349e5f801ba083730791cb2e648baa362e709 100644 (file)
@@ -235,7 +235,7 @@ static int cleanup(struct sr_output *o)
 
 static struct sr_option options[] = {
        { "width", "Width", "Number of samples per line", NULL, NULL },
-       { 0 }
+       ALL_ZERO
 };
 
 static const struct sr_option *get_options(void)
index 9dc5a1103e05386f27cc1468ca69b81b503b6092..e01f3afdea53bb9fc4dfdc7d3d71a934eea76268 100644 (file)
@@ -336,7 +336,7 @@ static int cleanup(struct sr_output *o)
 
 static struct sr_option options[] = {
        { "scale", "Scale", "Scale values by factor", NULL, NULL },
-       { 0 }
+       ALL_ZERO
 };
 
 static const struct sr_option *get_options(void)