g++ 4.1.x dies with "cc1plus: error: output filename specified twice"
on the currently used construct. That's apparently due to it converting
the manually specified "c++" into "c++-header", and mis-handling that
(which, when using "c++-header" explicitly btw gets mis-handled even
with 4.9.x and also, using "c-header", by the plain C compiler).

Signed-off-by: Jan Beulich <jbeul...@suse.com>

--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -104,9 +104,10 @@ headers.chk: $(PUBLIC_ANSI_HEADERS) Make
 headers++.chk: $(PUBLIC_HEADERS) Makefile
        if $(CXX) -v >/dev/null 2>&1; then \
            for i in $(filter %.h,$^); do \
-               $(CXX) -x c++ -std=gnu++98 -Wall -Werror -D__XEN_TOOLS__ \
-                      -include stdint.h -include public/xen.h \
-                      -S -o /dev/null $$i || exit 1; \
+               echo '#include "$$i"' \
+               | $(CXX) -x c++ -std=gnu++98 -Wall -Werror -D__XEN_TOOLS__ \
+                 -include stdint.h -include public/xen.h -S -o /dev/null - \
+               || exit 1; \
                echo $$i; \
            done ; \
        fi >$@.new



refine C++ header checking compiler invocation

g++ 4.1.x dies with "cc1plus: error: output filename specified twice"
on the currently used construct. That's apparently due to it converting
the manually specified "c++" into "c++-header", and mis-handling that
(which, when using "c++-header" explicitly btw gets mis-handled even
with 4.9.x and also, using "c-header", by the plain C compiler).

Signed-off-by: Jan Beulich <jbeul...@suse.com>

--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -104,9 +104,10 @@ headers.chk: $(PUBLIC_ANSI_HEADERS) Make
 headers++.chk: $(PUBLIC_HEADERS) Makefile
        if $(CXX) -v >/dev/null 2>&1; then \
            for i in $(filter %.h,$^); do \
-               $(CXX) -x c++ -std=gnu++98 -Wall -Werror -D__XEN_TOOLS__ \
-                      -include stdint.h -include public/xen.h \
-                      -S -o /dev/null $$i || exit 1; \
+               echo '#include "$$i"' \
+               | $(CXX) -x c++ -std=gnu++98 -Wall -Werror -D__XEN_TOOLS__ \
+                 -include stdint.h -include public/xen.h -S -o /dev/null - \
+               || exit 1; \
                echo $$i; \
            done ; \
        fi >$@.new
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to