Eli Friedman bb5de96bc8 Patch for PR2350; the issue was tnat we were allowing (with an error)
void f(const void) in one place and rejecting it in another.

llvm-svn: 51424
2008-05-22 08:54:03 +00:00

27 lines
827 B
C

/* RUN: clang -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}}