// RUN: %clang_cc1 -std=c11 %s -verify
typedef int type;
typedef type type;
typedef int type;
void f(int N) {
typedef int type2;
typedef type type2;
typedef int type2;
typedef int vla[N]; // expected-note{{previous definition is here}}
typedef int vla[N]; // expected-error{{redefinition of typedef for variably-modified type 'int[N]'}}
typedef int vla2[N];
typedef vla2 vla3; // expected-note{{previous definition is here}}
typedef vla2 vla3; // expected-error{{redefinition of typedef for variably-modified type 'vla2' (aka 'int[N]')}}
}