浏览代码

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;