[OB PATCH] Build two gdb.cp testcases with -Wno-unused-comparison

Pedro Alves palves@redhat.com
Fri May 29 18:31:57 GMT 2020


On 5/29/20 7:08 PM, Tom Tromey wrote:
>>>>>> "Gary" == Gary Benson via Gdb-patches <gdb-patches@sourceware.org> writes:
> 
> Gary> +if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
> Gary> +      {debug c++ additional_flags=-Wno-unused-comparison}] } {
> 
> Won't this cause build (and therefore test) failures if the compiler
> does not accept this option?

I think that by design, while GCC errors out about unknown -Wfoo warnings,
it ignores -Wno-foo, so that you can disable newer warnings without worrying
about older compilers:

 $ gcc main.c -o main -g3 -O0 -Wfoo
 gcc: error: unrecognized command line option ‘-Wfoo’
 $ gcc main.c -o main -g3 -O0 -Wno-foo

However, Clang seems to output a warning in either case:

 $ clang main.c -o main -g3 -O0 -Wfoo
 warning: unknown warning option '-Wfoo' [-Wunknown-warning-option]
 1 warning generated.
 $ clang main.c -o main -g3 -O0 -Wno-foo
 warning: unknown warning option '-Wno-foo' [-Wunknown-warning-option]
 1 warning generated.

(This was clang 5.0.2)

So that new option can break tests with older Clangs that don't
know about the option.  I guess to prevent this sort of thing going
forward, we could make gcc_compile always add -Wno-unknown-warning-option
to the build flags.  I don't know when was that option added to Clang,
but maybe it's ancient enough.

I don't know about other compilers, though.

> I wonder if there's a way to fix the warning in the C++ source file
> instead.

Yeah, me too.  Though the idea above could be helpful for other
tests/cases.

Thanks,
Pedro Alves



More information about the Gdb-patches mailing list