]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
build: add pragma directive to fix build on some gcc
authorPavel Hrdina <phrdina@redhat.com>
Fri, 24 Apr 2015 10:57:10 +0000 (12:57 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Fri, 24 Apr 2015 11:40:41 +0000 (13:40 +0200)
Commit 1268820a removed obsolete index() function and replaced it by
strchr.  Few versions of gcc has a bug and reports a warning about
strchr:

../../src/util/virstring.c:1006: error: logical '&&' with non-zero
constant will always evaluate as true [-Wlogical-op]

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
src/util/virstring.c

index 7b0cad754009ba82ce7733e713b9bf16aefb45ea..5794f968406e2919ea8cca2d5b0ddbc73350244d 100644 (file)
@@ -986,6 +986,16 @@ virStringHasControlChars(const char *str)
 }
 
 
+/* Work around spurious strchr() diagnostics given by -Wlogical-op
+ * for gcc < 4.6.  Doing it via a local pragma keeps the damage
+ * smaller than disabling it on the package level.  Unfortunately, the
+ * affected GCCs don't allow diagnostic push/pop which would have
+ * further reduced the impact. */
+#if BROKEN_GCC_WLOGICALOP
+# pragma GCC diagnostic ignored "-Wlogical-op"
+#endif
+
+
 /**
  * virStringStripControlChars:
  * @str: the string to strip