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