Преглед изворни кода

limit -Wmaybe-uninitialized suppression to gcc >= 4.3

apple gcc 4.2 complains about the use of the pragma inside a function.
clang also complains, but because the pragma is entirely unknown to it.

as neither compiler emits the bogus warning in the first place, there is
no point in suppressing it anyway.
Oswald Buddenhagen пре 7 година
родитељ
комит
094af8720c
1 измењених фајлова са 2 додато и 2 уклоњено
  1. 2 2
      src/util.c

+ 2 - 2
src/util.c

@@ -519,13 +519,13 @@ map_name( const char *arg, char **result, int reserve, const char *in, const cha
 		for (ll = 0; ll < inl; ll++)
 			if (arg[i + ll] != in[ll])
 				goto rnexti;
-#ifdef __GNUC__
+#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && !defined(__clang__)
 # pragma GCC diagnostic push
 /* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42145 */
 # pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
 #endif
 		memcpy( p, out, outl );
-#ifdef __GNUC__
+#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && !defined(__clang__)
 # pragma GCC diagnostic pop
 #endif
 		p += outl;