| 1 | // RUN: %clang_cc1 -verify %s |
| 2 | |
| 3 | // PR11925 |
| 4 | int n; |
| 5 | int (&f())[n]; // expected-error {{function declaration cannot have variably modified type}} |
| 6 | |
| 7 | namespace PR18581 { |
| 8 | template<typename T> struct pod {}; |
| 9 | template<typename T> struct error { |
| 10 | typename T::error e; // expected-error {{cannot be used prior to '::'}} |
| 11 | }; |
| 12 | struct incomplete; // expected-note {{forward declaration}} |
| 13 | |
| 14 | void f(int n) { |
| 15 | pod<int> a[n]; |
| 16 | error<int> b[n]; // expected-note {{instantiation}} |
| 17 | incomplete c[n]; // expected-error {{incomplete}} |
| 18 | } |
| 19 | } |
| 20 | |
| 21 | void pr23151(int (&)[*]) { // expected-error {{variable length array must be bound in function definition}} |
| 22 | } |
| 23 | |