Richard Smith | 84208dc | 2012-03-13 05:56:40 +0000 | [diff] [blame] | 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}} |
Richard Smith | 04d6d2f | 2014-02-08 02:30:49 +0000 | [diff] [blame] | 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 | } |
David Majnemer | df8f73f | 2015-04-09 19:53:25 +0000 | [diff] [blame] | 20 | |
| 21 | void pr23151(int (&)[*]) { // expected-error {{variable length array must be bound in function definition}} |
| 22 | } |