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