From: Matt Davis Date: Sat, 27 Jan 2018 00:25:29 +0000 (+0000) Subject: Always allow "#pragma region". X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=adf839121792511c0a431e78adfad8215ff428e1;p=clang Always allow "#pragma region". Summary: Both MS and PS4 targets are capable of recognizing the existence of: #pragma region, #pragma endregion. Since this pragma is only a hint for certain editors, and has no logic, it seems helpful to permit this pragma in all cases, not just MS compatibility mode. Reviewers: rnk, rsmith, majnemer Reviewed By: majnemer Subscribers: Quuxplusone, probinson, majnemer, cfe-commits Differential Revision: https://reviews.llvm.org/D42248 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@323577 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Lex/Pragma.cpp b/lib/Lex/Pragma.cpp index d2abc5acc0..b9be03f4f2 100644 --- a/lib/Lex/Pragma.cpp +++ b/lib/Lex/Pragma.cpp @@ -1776,13 +1776,15 @@ void Preprocessor::RegisterBuiltinPragmas() { ModuleHandler->AddPragma(new PragmaModuleEndHandler()); ModuleHandler->AddPragma(new PragmaModuleBuildHandler()); ModuleHandler->AddPragma(new PragmaModuleLoadHandler()); + + // Add region pragmas. + AddPragmaHandler(new PragmaRegionHandler("region")); + AddPragmaHandler(new PragmaRegionHandler("endregion")); // MS extensions. if (LangOpts.MicrosoftExt) { AddPragmaHandler(new PragmaWarningHandler()); AddPragmaHandler(new PragmaIncludeAliasHandler()); - AddPragmaHandler(new PragmaRegionHandler("region")); - AddPragmaHandler(new PragmaRegionHandler("endregion")); } // Pragmas added by plugins diff --git a/test/Frontend/region-pragmas.c b/test/Frontend/region-pragmas.c new file mode 100644 index 0000000000..8d929e8414 --- /dev/null +++ b/test/Frontend/region-pragmas.c @@ -0,0 +1,5 @@ +// RUN: %clang_cc1 -Wall -verify %s +// expected-no-diagnostics + +#pragma region foo +#pragma endregion foo