From 7674c0454b50b223c8348d2adc6e6db016ddbc2d Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Fri, 24 Apr 2015 12:57:10 +0200 Subject: [PATCH] build: add pragma directive to fix build on some gcc 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 --- src/util/virstring.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/util/virstring.c b/src/util/virstring.c index 7b0cad754..5794f9684 100644 --- a/src/util/virstring.c +++ b/src/util/virstring.c @@ -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 -- 2.39.5