1 // RUN: %clang_cc1 -fsyntax-only -verify %s -std=c++11
2 // RUN: %clang_cc1 -fsyntax-only -verify %s -std=c++1y
f()3 void f() {
4   auto int a; // expected-warning {{'auto' storage class specifier is not permitted in C++11, and will not be supported in future releases}}
5   int auto b; // expected-error{{cannot combine with previous 'int' declaration specifier}}
6 }
7 
8 typedef auto PR25449(); // expected-error {{'auto' not allowed in typedef}}
9 
10 thread_local auto x; // expected-error {{requires an initializer}}
11 
g()12 void g() {
13   [](auto){}(0);
14 #if __cplusplus == 201103L
15   // expected-error@-2 {{'auto' not allowed in lambda parameter}}
16 #endif
17 }
18 
rdar47689465()19 void rdar47689465() {
20   int x = 0;
21   [](auto __attribute__((noderef)) *){}(&x);
22 #if __cplusplus == 201103L
23   // expected-error@-2 {{'auto' not allowed in lambda parameter}}
24 #endif
25 }
26