Home | History | Annotate | Download | only in Sema
      1 /* RUN: %clang_cc1 -fsyntax-only %s -verify
      2  */
      3 
      4 typedef void Void;
      5 
      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.
     23 void bar(Void) {
     24 }
     25 
     26 void f(const void);            // expected-error {{parameter must not have type qualifiers}}
     27