declarators.c revision 3825c2eb00f108854942533a4993327889c081c3
1// RUN: clang %s -fsyntax-only -verify -pedantic 2 3extern int a1[]; 4 5void f0(); 6void f1(int [*]); 7void f2(int [const *]); 8void f3(int [volatile const*]); 9int f4(*XX)(void); /* expected-error {{cannot return}} expected-warning {{type specifier missing, defaults to 'int'}} */ 10 11char ((((*X)))); 12 13void (*signal(int, void (*)(int)))(int); 14 15int a, ***C, * const D, b(int); 16 17int *A; 18 19struct str; 20 21int test2(int *P, int A) { 22 struct str; 23 24 // Hard case for array decl, not Array[*]. 25 int Array[*(int*)P+A]; 26} 27 28typedef int atype; 29int test3(x, 30 atype /* expected-error {{unexpected type name 'atype': expected identifier}} */ 31 ) int x, atype; {} 32 33int test4(x, x) int x; {} /* expected-error {{redefinition of parameter 'x'}} */ 34 35