1*67e74705SXin Li // No PCH: 2*67e74705SXin Li // RUN: %clang_cc1 -pedantic -std=c++1y -include %s -verify %s 3*67e74705SXin Li // 4*67e74705SXin Li // With PCH: 5*67e74705SXin Li // RUN: %clang_cc1 -pedantic -std=c++1y -emit-pch %s -o %t 6*67e74705SXin Li // RUN: %clang_cc1 -pedantic -std=c++1y -include-pch %t -verify %s 7*67e74705SXin Li 8*67e74705SXin Li #ifndef HEADER 9*67e74705SXin Li #define HEADER 10*67e74705SXin Li __anon3fa3d6570102() 11*67e74705SXin Liauto counter = [a(0)] () mutable { return a++; }; 12*67e74705SXin Li int x = counter(); 13*67e74705SXin Li f(T t)14*67e74705SXin Litemplate<typename T> void f(T t) { 15*67e74705SXin Li [t(t)] { int n = t; } (); 16*67e74705SXin Li } 17*67e74705SXin Li 18*67e74705SXin Li #else 19*67e74705SXin Li 20*67e74705SXin Li int y = counter(); 21*67e74705SXin Li g()22*67e74705SXin Livoid g() { 23*67e74705SXin Li f(0); // ok 24*67e74705SXin Li // expected-error@15 {{lvalue of type 'const char *const'}} 25*67e74705SXin Li f("foo"); // expected-note {{here}} 26*67e74705SXin Li } 27*67e74705SXin Li 28*67e74705SXin Li #endif 29