| /* RUN: %clang_cc1 -fsyntax-only %s -verify |
| */ |
| |
| typedef void Void; |
| |
| void foo() { |
| int X; |
| |
| X = sizeof(int (void a)); // expected-error {{argument may not have 'void' type}} |
| X = sizeof(int (int, void)); // expected-error {{must be the first and only parameter}} |
| X = sizeof(int (void, ...)); // expected-error {{must be the first and only parameter}} |
| |
| X = sizeof(int (Void a)); // expected-error {{argument may not have 'void' type}} |
| X = sizeof(int (int, Void)); // expected-error {{must be the first and only parameter}} |
| X = sizeof(int (Void, ...)); // expected-error {{must be the first and only parameter}} |
| |
| // Accept these. |
| X = sizeof(int (void)); |
| X = sizeof(int (Void)); |
| } |
| |
| // this is ok. |
| void bar(Void) { |
| } |
| |
| void f(const void); // expected-error {{parameter must not have type qualifiers}} |