11f5207b7SJohn Levon typedef int T;
21f5207b7SJohn Levon extern void f(int);
g(int x)31f5207b7SJohn Levon static void g(int x)
41f5207b7SJohn Levon {
51f5207b7SJohn Levon 	int (T);
61f5207b7SJohn Levon 	T = x;
71f5207b7SJohn Levon 	f(T);
81f5207b7SJohn Levon }
h(void)91f5207b7SJohn Levon static void h(void)
101f5207b7SJohn Levon {
111f5207b7SJohn Levon 	static int [2](T)[3];
121f5207b7SJohn Levon }
131f5207b7SJohn Levon static int [2](*p)[3];
141f5207b7SJohn Levon int i(void (void)(*f));
151f5207b7SJohn Levon int j(int [2](*));
161f5207b7SJohn Levon /*
171f5207b7SJohn Levon  * check-name: nested declarator vs. parameters
18*c85f09ccSJohn Levon  * check-error-start
191f5207b7SJohn Levon nested-declarator.c:11:23: warning: missing identifier in declaration
201f5207b7SJohn Levon nested-declarator.c:11:23: error: Expected ; at the end of type declaration
211f5207b7SJohn Levon nested-declarator.c:11:23: error: got (
221f5207b7SJohn Levon nested-declarator.c:13:15: error: Expected ; at the end of type declaration
231f5207b7SJohn Levon nested-declarator.c:13:15: error: got (
241f5207b7SJohn Levon nested-declarator.c:14:18: error: Expected ) in function declarator
251f5207b7SJohn Levon nested-declarator.c:14:18: error: got (
261f5207b7SJohn Levon nested-declarator.c:15:14: error: Expected ) in function declarator
271f5207b7SJohn Levon nested-declarator.c:15:14: error: got (
28*c85f09ccSJohn Levon  * check-error-end
291f5207b7SJohn Levon  */
30