brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · 9e57730 Raw
40 lines · plain
1// RUN: %clang_cc1 -fobjc-runtime=gcc -frecovery-ast -verify %s2 3@interface Ivar4{5  int Foo : foo(); // expected-error {{use of undeclared identifier}}6};7@end8 9struct X { int Y: foo(); }; // expected-error {{use of undeclared identifier}}10 11constexpr int s = sizeof(Ivar);12constexpr int ss = sizeof(X);13 14auto func() {15  return undef(); // expected-error {{use of undeclared identifier}}16}17struct Y {18  int X : func();19};20constexpr int sss = sizeof(Y);21 22bool Foo(int *); // expected-note {{candidate function not viable}}23template <typename T>24struct Base {};25template <typename T>26auto 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;30}31struct Z {32  int X : func<int>(); // expected-note {{in instantiation of function template}}33};34constexpr int ssss = sizeof(Z);35 36struct Z2 {37  int X : sizeof(_BitInt(invalid())); // expected-error {{use of undeclared identifier}}38};39constexpr int sssss = sizeof(Z2);40