// RUN: clang -fsyntax-only -verify %s

int test1(int x) {
  goto L; // expected-error{{illegal jump}}
  int a[x];
  L:
  return sizeof a;
}

int test2(int x) {
  goto L; // expected-error{{illegal jump}}
  typedef int a[x];
  L:
  return sizeof(a);
}

void test3clean(int*);

int test3() {
  goto L; // expected-error{{illegal jump}}
  int a __attribute((cleanup(test3clean)));
  L:
  return a;
}
