Mercurial > hg > CbC > CbC_llvm
diff clang/test/Preprocessor/_Pragma-in-macro-arg.cpp @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clang/test/Preprocessor/_Pragma-in-macro-arg.cpp Thu Feb 13 15:10:13 2020 +0900 @@ -0,0 +1,22 @@ +// RUN: %clang_cc1 %s -verify -Wconversion + +#define P(X) _Pragma(#X) +#define V(X) X + +#define X \ + P(clang diagnostic push) \ + P(clang diagnostic ignored "-Wconversion") \ + ) = 1.2; \ + P(clang diagnostic pop) + +void f() { + int a = 1.2; // expected-warning {{changes value}} + + // Note, we intentionally enter a tentatively-parsed context here to trigger + // regular use of lookahead. This would go wrong if _Pragma checking in macro + // argument pre-expansion also tries to use token lookahead. + int (b + V(X) + + int c = 1.2; // expected-warning {{changes value}} +}