]> granicus.if.org Git - clang/commitdiff
Always allow "#pragma region".
authorMatt Davis <Matthew.Davis@sony.com>
Sat, 27 Jan 2018 00:25:29 +0000 (00:25 +0000)
committerMatt Davis <Matthew.Davis@sony.com>
Sat, 27 Jan 2018 00:25:29 +0000 (00:25 +0000)
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

lib/Lex/Pragma.cpp
test/Frontend/region-pragmas.c [new file with mode: 0644]

index d2abc5acc098e65d76381a7ff609f5a8a0b6512b..b9be03f4f20d98d9d9fa5d8bd4efb05964987ccc 100644 (file)
@@ -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 (file)
index 0000000..8d929e8
--- /dev/null
@@ -0,0 +1,5 @@
+// RUN: %clang_cc1 -Wall -verify %s
+// expected-no-diagnostics
+
+#pragma region foo
+#pragma endregion foo