]> Savannah Git Hosting - gnulib.git/commitdiff
canonicalize: Silence gcc warning.
authorBruno Haible <bruno@clisp.org>
Thu, 18 May 2023 22:45:46 +0000 (00:45 +0200)
committerBruno Haible <bruno@clisp.org>
Thu, 18 May 2023 22:45:46 +0000 (00:45 +0200)
* lib/canonicalize.c: Add #pragma GCC diagnostic.
(IF_LINT): Remove macro.
(canonicalize_filename_mode_stk): Remove use of IF_LINT.

ChangeLog
lib/canonicalize.c

index 50a9cef230f4c996ac9e82d07968fef87cbc5a45..717789d423c5f39e7ba515f4124cf4f202eaffbf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2023-05-18  Bruno Haible  <bruno@clisp.org>
+
+       canonicalize: Silence gcc warning.
+       * lib/canonicalize.c: Add #pragma GCC diagnostic.
+       (IF_LINT): Remove macro.
+       (canonicalize_filename_mode_stk): Remove use of IF_LINT.
+
 2023-05-18  Bruno Haible  <bruno@clisp.org>
 
        vasnprintf, c-vasnprintf: Silence gcc warning.
index 010190d2751ad269152abf23100a6b64b3165bff..d73ee2c894c856f7fd7e2b6930a6d9aa8b94c954 100644 (file)
 #include "hash-triple.h"
 #include "xalloc.h"
 
-/* Suppress bogus GCC -Wmaybe-uninitialized warnings.  */
-#if defined GCC_LINT || defined lint
-# define IF_LINT(Code) Code
-#else
-# define IF_LINT(Code) /* empty */
-#endif
-
 #ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
 # define DOUBLE_SLASH_IS_DISTINCT_ROOT false
 #endif
 # define SLASHES "/"
 #endif
 
+/* Avoid false GCC warning "'end_idx' may be used uninitialized".  */
+#if __GNUC__ + (__GNUC_MINOR__ >= 7) > 4
+# pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+#endif
+
 /* Return true if FILE's existence can be shown, false (setting errno)
    otherwise.  Follow symbolic links.  */
 static bool
@@ -369,7 +367,7 @@ canonicalize_filename_mode_stk (const char *name, canonicalize_mode_t can_mode,
               buf[n] = '\0';
 
               char *extra_buf = bufs->extra.data;
-              idx_t end_idx IF_LINT (= 0);
+              idx_t end_idx;
               if (end_in_extra_buffer)
                 end_idx = end - extra_buf;
               size_t len = strlen (end);