1 // PR c++/37967 2 // Negative test for auto 3 // { dg-do compile { target c++11 } } 4 5 auto f1 () -> int; 6 auto f2 (); // { dg-error "1:.f2. function uses .auto. type specifier without trailing return type" "" { target { ! c++14 } } } 7 int f3 () -> int; // { dg-error "1:.f3. function with trailing return type" } 8 auto *f4 () -> int; // { dg-error "1:.f4. function with trailing return type" } 9 10 struct A 11 { 12 auto f5 () const -> int; 13 auto f6 (); // { dg-error "3:.f6. function uses .auto. type specifier without trailing return type" "" { target { ! c++14 } } } 14 int f7 () -> int; // { dg-error "3:.f7. function with trailing return type" } 15 auto *f8 () -> int; // { dg-error "3:.f8. function with trailing return type" } 16 }; 17