diff options
-rw-r--r-- | clang/lib/Parse/ParseDecl.cpp | 3 | ||||
-rw-r--r-- | clang/test/Sema/pr9812.c (renamed from clang/test/SemaCXX/pr9812.c) | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index cea58248107..b4a76642981 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -2569,7 +2569,8 @@ void Parser::ParseDeclarationSpecifiers(DeclSpec &DS, bool EnteringContext = (DSContext == DSC_class || DSContext == DSC_top_level); bool AttrsLastTime = false; ParsedAttributesWithRange attrs(AttrFactory); - const PrintingPolicy &Policy = Actions.getASTContext().getPrintingPolicy(); + // We use Sema's policy to get bool macros right. + const PrintingPolicy &Policy = Actions.getPrintingPolicy(); while (1) { bool isInvalid = false; bool isStorageClass = false; diff --git a/clang/test/SemaCXX/pr9812.c b/clang/test/Sema/pr9812.c index cbbe44ba7ca..14bc6c810e8 100644 --- a/clang/test/SemaCXX/pr9812.c +++ b/clang/test/Sema/pr9812.c @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -fsyntax-only -verify %s #define bool _Bool -int test1(int argc, char** argv) +int main(int argc, char** argv) { bool signed; // expected-error {{'bool' cannot be signed or unsigned}} expected-warning {{declaration does not declare anything}} |