/* 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}}