summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorMatt Davis <Matthew.Davis@sony.com>2018-01-27 00:25:29 +0000
committerMatt Davis <Matthew.Davis@sony.com>2018-01-27 00:25:29 +0000
commit1edb905e823c5eabd3c934ef0129c5387bc3f9fb (patch)
treebadf392eb245f402690f7b27ea39b011138c118d /clang
parentcff94627cf2972bbad33dbf8ab7a76e24a63ad4b (diff)
downloadbcm5719-llvm-1edb905e823c5eabd3c934ef0129c5387bc3f9fb.tar.gz
bcm5719-llvm-1edb905e823c5eabd3c934ef0129c5387bc3f9fb.zip
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 llvm-svn: 323577
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Lex/Pragma.cpp6
-rw-r--r--clang/test/Frontend/region-pragmas.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/clang/lib/Lex/Pragma.cpp b/clang/lib/Lex/Pragma.cpp
index d2abc5acc09..b9be03f4f20 100644
--- a/clang/lib/Lex/Pragma.cpp
+++ b/clang/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/clang/test/Frontend/region-pragmas.c b/clang/test/Frontend/region-pragmas.c
new file mode 100644
index 00000000000..8d929e8414f
--- /dev/null
+++ b/clang/test/Frontend/region-pragmas.c
@@ -0,0 +1,5 @@
+// RUN: %clang_cc1 -Wall -verify %s
+// expected-no-diagnostics
+
+#pragma region foo
+#pragma endregion foo
OpenPOWER on IntegriCloud