1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -fsyntax-only -verify %s
2651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
3651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines#define bool _Bool
4651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint test1(int argc, char** argv)
5651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines{
6651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines    bool signed;  // expected-error {{'bool' cannot be signed or unsigned}} expected-warning {{declaration does not declare anything}}
7651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
8651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines    return 0;
9651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines}
10651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines#undef bool
11651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
12651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinestypedef int bool;
13651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
14651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint test2(int argc, char** argv)
15651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines{
16651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines    bool signed; // expected-error {{'type-name' cannot be signed or unsigned}} expected-warning {{declaration does not declare anything}}
17651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines    _Bool signed; // expected-error {{'_Bool' cannot be signed or unsigned}} expected-warning {{declaration does not declare anything}}
18651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
19651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines    return 0;
20651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines}
21651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines
22