xref: /llvm-project/clang/test/Sema/c11-typedef-redef.c (revision aee49255074fd4ef38d97e6e70cbfbf2f9fd0fa7)
1 // RUN: %clang_cc1 -std=c11 %s -verify
2 
3 typedef int type;
4 typedef type type;
5 typedef int type;
6 
f(int N)7 void f(int N) {
8   typedef int type2;
9   typedef type type2;
10   typedef int type2;
11 
12   typedef int vla[N]; // expected-note{{previous definition is here}}
13   typedef int vla[N]; // expected-error{{redefinition of typedef for variably-modified type 'int[N]'}}
14 
15   typedef int vla2[N];
16   typedef vla2 vla3; // expected-note{{previous definition is here}}
17   typedef vla2 vla3; // expected-error{{redefinition of typedef for variably-modified type 'vla2' (aka 'int[N]')}}
18 }
19