WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [xen-4.0-testing test] 7147: regressions - FAIL

I wrote:
> At top level:
> cc1: error: unrecognized command line option "-Wno-unused-but-set-variable"

How about this fix.

Ian.

diff -r 0f670f5146c8 Config.mk
--- a/Config.mk Sat May 21 07:55:46 2011 +0100
+++ b/Config.mk Mon May 23 16:07:59 2011 +0100
@@ -72,8 +72,7 @@ PYTHON_PREFIX_ARG ?= --prefix="$(PREFIX)
 
 # cc-option: Check if compiler supports first option, else fall back to second.
 # Usage: cflags-y += $(call cc-option,$(CC),-march=winchip-c6,-march=i586)
-cc-option = $(shell if test -z "`$(1) $(2) -S -o /dev/null -xc \
-              /dev/null 2>&1`"; then echo "$(2)"; else echo "$(3)"; fi ;)
+cc-option = $(shell $(XEN_ROOT)/config/test-cc-option.sh $(1) $(2) $(3))
 
 # cc-option-add: Add an option to compilation flags, but only if supported.
 # Usage: $(call cc-option-add CFLAGS,CC,-march=winchip-c6)
diff -r 0f670f5146c8 config/test-cc-option.sh
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/config/test-cc-option.sh  Mon May 23 16:07:59 2011 +0100
@@ -0,0 +1,31 @@
+#!/bin/sh
+set -e
+
+cc="$1"
+opt="$2"
+alt="$3"
+
+case "$opt" in
+-Wno-*)
+   # Sadly a broken implementation of the fix to GCC PR 28322
+   # (actually shipped eg in Debian lenny) makes it hard to spot
+   # whether the compiler recognises a -Wno-foo option without
+   # generating a warning for some other reason.
+
+   input="${0%-cc-option.sh}-cc-warning.c"
+   if $cc $opt -Wreturn-type -Wno-error -S -o /dev/null "$input" \
+           >/dev/null 2>&1; then
+       res="$opt"
+   else
+       res="$alt"
+   fi
+   ;;
+*)
+    if test -z "`$cc $opt $nerr -S -o /dev/null -xc $input 2>&1`"; then
+        res="$opt"
+    else
+        res="$alt"
+    fi
+    ;;
+esac
+printf "%s\n" "$res"
diff -r 0f670f5146c8 config/test-cc-warning.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/config/test-cc-warning.c  Mon May 23 16:07:59 2011 +0100
@@ -0,0 +1,2 @@
+extern int bogus(void);
+int bogus(void) { }

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel