maint: remove -Wmissing-field-initializers workarounds
authorPádraig Brady <P@draigBrady.com>
Tue, 26 Apr 2011 09:30:05 +0000 (10:30 +0100)
committerPádraig Brady <P@draigBrady.com>
Sun, 8 May 2011 16:38:37 +0000 (17:38 +0100)
* configure.ac: Rather than disabling -Wmissing-field-initializers,
use the fact that gnulib now disables it automatically when required
(on versions of GCC older than 4.7).
* src/system.h: Remove the no longer needed DECLARE_ZEROED_AGGREGATE.
* src/ls.c: Likewise.
* src/pathchk.c: Likewise.
* src/shred.c: Likewise.
* src/stty.c: Likewise.
* src/wc.c: Likewise.

configure.ac
src/ls.c
src/pathchk.c
src/shred.c
src/stty.c
src/system.h
src/wc.c

index 6407bea..c8bd9e3 100644 (file)
@@ -96,7 +96,6 @@ if test "$gl_gcc_warnings" = yes; then
   for w in $ws; do
     gl_WARN_ADD([$w])
   done
-  gl_WARN_ADD([-Wno-missing-field-initializers]) # We need this one
   gl_WARN_ADD([-Wno-sign-compare])     # Too many warnings for now
   gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now
 
index a7ea8c2..4262923 100644 (file)
--- a/src/ls.c
+++ b/src/ls.c
@@ -3891,7 +3891,7 @@ quote_name (FILE *out, const char *name, struct quoting_options const *options,
                      reach its end, replacing each non-printable multibyte
                      character with a single question mark.  */
                   {
-                    DECLARE_ZEROED_AGGREGATE (mbstate_t, mbstate);
+                    mbstate_t mbstate = { 0, };
                     do
                       {
                         wchar_t wc;
index f0f99dd..7f4e5df 100644 (file)
@@ -196,7 +196,7 @@ portable_chars_only (char const *file, size_t filelen)
 
   if (*invalid)
     {
-      DECLARE_ZEROED_AGGREGATE (mbstate_t, mbstate);
+      mbstate_t mbstate = { 0, };
       size_t charlen = mbrlen (invalid, filelen - validlen, &mbstate);
       error (0, 0,
              _("nonportable character %s in file name %s"),
index 10425a3..2774791 100644 (file)
@@ -1098,7 +1098,7 @@ int
 main (int argc, char **argv)
 {
   bool ok = true;
-  DECLARE_ZEROED_AGGREGATE (struct Options, flags);
+  struct Options flags = { 0, };
   char **file;
   int n_files;
   int c;
index 674a19a..6d54ece 100644 (file)
@@ -730,7 +730,7 @@ main (int argc, char **argv)
 {
   /* Initialize to all zeroes so there is no risk memcmp will report a
      spurious difference in an uninitialized portion of the structure.  */
-  DECLARE_ZEROED_AGGREGATE (struct termios, mode);
+  struct termios mode = { 0, };
 
   enum output_type output_type;
   int optc;
@@ -1003,7 +1003,7 @@ main (int argc, char **argv)
     {
       /* Initialize to all zeroes so there is no risk memcmp will report a
          spurious difference in an uninitialized portion of the structure.  */
-      DECLARE_ZEROED_AGGREGATE (struct termios, new_mode);
+      struct termios new_mode = { 0, };
 
       if (tcsetattr (STDIN_FILENO, TCSADRAIN, &mode))
         error (EXIT_FAILURE, errno, "%s", device_name);
index 1c351bd..2e8e177 100644 (file)
@@ -467,19 +467,6 @@ enum
 # define IF_LINT(Code) /* empty */
 #endif
 
-/* With -Dlint, avoid warnings from gcc about code like mbstate_t m = {0,};
-   by wasting space on a static variable of the same type, that is thus
-   guaranteed to be initialized to 0, and use that on the RHS.  */
-#define DZA_CONCAT0(x,y) x ## y
-#define DZA_CONCAT(x,y) DZA_CONCAT0 (x, y)
-#ifdef lint
-# define DECLARE_ZEROED_AGGREGATE(Type, Var) \
-   static Type DZA_CONCAT (s0_, __LINE__); Type Var = DZA_CONCAT (s0_, __LINE__)
-#else
-# define DECLARE_ZEROED_AGGREGATE(Type, Var) \
-  Type Var = { 0, }
-#endif
-
 #ifndef __attribute__
 # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
 #  define __attribute__(x) /* empty */
index 0399214..702a7a7 100644 (file)
--- a/src/wc.c
+++ b/src/wc.c
@@ -285,7 +285,7 @@ wc (int fd, char const *file_x, struct fstatus *fstatus)
     {
       bool in_word = false;
       uintmax_t linepos = 0;
-      DECLARE_ZEROED_AGGREGATE (mbstate_t, state);
+      mbstate_t state = { 0, };
       bool in_shift = false;
 # if SUPPORT_OLD_MBRTOWC
       /* Back-up the state before each multibyte character conversion and