llvm-project icon indicating copy to clipboard operation
llvm-project copied to clipboard

-Wno-unknown-pragmas doesn't work with clang-cl -Xclang -Wall

Open glandium opened this issue 3 years ago • 3 comments

There is some inconsistency in how the clang-cl driver handles -Wno-unknown-pragmas:

$ echo "#pragma deprecated(foo)" > foo.h
$ clang-cl -W3 foo.h
foo.h(1,9): warning: unknown pragma ignored [-Wunknown-pragmas]
#pragma deprecated(foo)
        ^
1 warning generated.
$ clang-cl -W3 -Wno-unknown-pragmas foo.h
$ clang-cl -Xclang -Wall foo.h
foo.h(1,9): warning: unknown pragma ignored [-Wunknown-pragmas]
#pragma deprecated(foo)
        ^
1 warning generated.
$ clang-cl -Xclang -Wall -Wno-unknown-pragmas foo.h
foo.h(1,9): warning: unknown pragma ignored [-Wunknown-pragmas]
#pragma deprecated(foo)
        ^
1 warning generated.
$ clang-cl -Xclang -Wall -Xclang -Wno-unknown-pragmas foo.h

For some reason, -Wno-unknown-pragmas doesn't work with -Xclang -Wall I haven't checked whether this applies to other flags.

glandium avatar Oct 14 '22 07:10 glandium

Why are you using -Xclang at all here, for -Wall or -Wno-unknown-pragmas?

tbaederr avatar Oct 14 '22 08:10 tbaederr

@llvm/issue-subscribers-clang-driver

llvmbot avatar Oct 14 '22 13:10 llvmbot

Because -Wall in clang-cl means -Weverything. -W3 is -Wall, but for some reason, we were also using -Xclang -Wall.

glandium avatar Oct 14 '22 20:10 glandium