summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/plugin/pragma_plugin-test-1.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/plugin/pragma_plugin-test-1.C')
-rw-r--r--gcc/testsuite/g++.dg/plugin/pragma_plugin-test-1.C18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/plugin/pragma_plugin-test-1.C b/gcc/testsuite/g++.dg/plugin/pragma_plugin-test-1.C
new file mode 100644
index 000000000..3c084208b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/plugin/pragma_plugin-test-1.C
@@ -0,0 +1,18 @@
+// { dg-warning "Callback to register pragmas" "" { target *-*-* } 0 }
+
+int some_func (int c);
+
+#pragma GCCPLUGIN sayhello "here" // { dg-warning "'pragma GCCPLUGIN sayhello' outside of function: here" }
+
+int some_func (const char* s)
+{
+#pragma GCCPLUGIN sayhello "at start" // { dg-warning "'pragma GCCPLUGIN sayhello' from function 'some_func': at start" }
+
+#define DO_PRAGMA(x) _Pragma(#x)
+ if (!s)
+ {
+ DO_PRAGMA(GCCPLUGIN sayhello "in block"); // { dg-warning "'pragma GCCPLUGIN sayhello' from function 'some_func': in block" }
+ return 0;
+ }
+ return 1;
+}