[clang-cl] Ignore /Wv and /Wv:17 flags
[llvm-project.git] / clang / test / Sema / invalid-bitwidth-expr.mm
blob9e577300eb1c8a5276d3795d35cb79f8bc70cd93
1 // RUN: %clang_cc1 -fobjc-runtime=gcc -frecovery-ast -verify %s
3 @interface Ivar
5   int Foo : foo(); // expected-error {{use of undeclared identifier}}
6 };
7 @end
9 struct X { int Y: foo(); }; // expected-error {{use of undeclared identifier}}
11 constexpr int s = sizeof(Ivar);
12 constexpr int ss = sizeof(X);
14 auto func() {
15   return undef(); // expected-error {{use of undeclared identifier}}
17 struct Y {
18   int X : func();
20 constexpr int sss = sizeof(Y);
22 bool Foo(int *); // expected-note {{candidate function not viable}}
23 template <typename T>
24 struct Base {};
25 template <typename T>
26 auto func() {
27   // error-bit should be propagated from TemplateArgument to NestNameSpecifier.
28   class Base<decltype(Foo(T()))>::type C; // expected-error {{no matching function for call to 'Foo'}}
29   return C;
31 struct Z {
32   int X : func<int>(); // expected-note {{in instantiation of function template}}
34 constexpr int ssss = sizeof(Z);
36 struct Z2 {
37   int X : sizeof(_BitInt(invalid())); // expected-error {{use of undeclared identifier}}
39 constexpr int sssss = sizeof(Z2);