1 /* RUN: %clang_cc1 -fsyntax-only %s -verify
2 */
3
4 typedef void Void;
5
foo()6 void foo() {
7 int X;
8
9 X = sizeof(int (void a)); // expected-error {{argument may not have 'void' type}}
10 X = sizeof(int (int, void)); // expected-error {{must be the first and only parameter}}
11 X = sizeof(int (void, ...)); // expected-error {{must be the first and only parameter}}
12
13 X = sizeof(int (Void a)); // expected-error {{argument may not have 'void' type}}
14 X = sizeof(int (int, Void)); // expected-error {{must be the first and only parameter}}
15 X = sizeof(int (Void, ...)); // expected-error {{must be the first and only parameter}}
16
17 // Accept these.
18 X = sizeof(int (void));
19 X = sizeof(int (Void));
20 }
21
22 // this is ok.
bar(Void)23 void bar(Void) {
24 }
25
26 void f(const void); // expected-error {{parameter must not have type qualifiers}}
27