// RUN: %clang_cc1 -triple x86_64-apple-macosx10.14.0 -verify %s

// PR11925
int n;
int (&f())[n]; // expected-error {{function declaration cannot have variably modified type}}

namespace PR18581 {
  template<typename T> struct pod {};
  template<typename T> struct error {
    typename T::error e; // expected-error {{cannot be used prior to '::'}}
  };
  struct incomplete; // expected-note {{forward declaration}}

  void f(int n) {
    pod<int> a[n];
    error<int> b[n]; // expected-note {{instantiation}}
    incomplete c[n]; // expected-error {{incomplete}}
  }
}

void pr23151(int (&)[*]) { // expected-error {{variable length array must be bound in function definition}}
}

void test_fold() {
  char a1[(unsigned long)(int *)0+1]{}; // expected-warning{{variable length array folded to constant array as an extension}}
  char a2[(unsigned long)(int *)0+1] = {}; // expected-warning{{variable length array folded to constant array as an extension}}
  char a3[(unsigned long)(int *)0+1];
}
