TREE_STRING_POINTER (message));
}
+/* Ignore a no-op pragma that GCC recognizes, but which has no effect. */
+static void
+handle_pragma_ignore (cpp_reader *)
+{
+}
+
/* Mark whether the current location is valid for a STDC pragma. */
static bool valid_location_for_stdc_pragma;
c_register_pragma ("GCC", "pop_options", handle_pragma_pop_options);
c_register_pragma ("GCC", "reset_options", handle_pragma_reset_options);
+ c_register_pragma (0, "region", handle_pragma_ignore);
+ c_register_pragma (0, "endregion", handle_pragma_ignore);
+
c_register_pragma ("STDC", "FLOAT_CONST_DECIMAL64",
handle_pragma_float_const_decimal64);
file will never be read again, no matter what. It is a less-portable
alternative to using :samp:`#ifndef` to guard the contents of header files
against multiple inclusions.
+
+``#pragma region {tokens}...``, ``#pragma endregion {tokens}...``
+ These pragmas are accepted, but have no effect.
--- /dev/null
+/* { dg-options "-Wunknown-pragmas" } */
+/* { dg-final { scan-assembler "code_within_region" } } */
+/* { dg-final { scan-assembler "code_within_named_region" } } */
+
+#pragma region
+void code_within_region() { }
+#pragma endregion
+
+#pragma region ignored name
+void code_within_named_region() { }
+#pragma endregion // ignored comment