1 // Negative test for auto
2 // { dg-do compile { target c++11 } }
3
4 #include <initializer_list>
5
6 auto x; // { dg-error "auto" }
7
8 // If the type deduced for the template parameter U is not the same in each
9 // deduction, the program is ill-formed.
10 auto i = 42, j = 42.0; // { dg-error "auto" }
11
12 // New CWG issue
13 auto a[2] = { 1, 2 }; // { dg-error "6:.a. declared as array of .auto" }
14
15 template<class T>
16 struct A { };
17
18 A<int> A1;
19 // CWG issue 625
20 A<auto> A2 = A1; // { dg-error "" }
21
foo()22 auto foo() { } // { dg-error "auto" "" { target { ! c++14 } } }
23
bar(auto i)24 void bar(auto i) // { dg-error "incomplete|auto" "" { target { ! concepts } } }
25 {
26 (void)i;
27 }
28