aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/strub-internal-pr112938.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/strub-internal-pr112938.C')
-rw-r--r--gcc/testsuite/g++.dg/strub-internal-pr112938.C12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/strub-internal-pr112938.C b/gcc/testsuite/g++.dg/strub-internal-pr112938.C
new file mode 100644
index 0000000..7d7023c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/strub-internal-pr112938.C
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-options "-fdump-tree-optimized -O2" } */
+/* { dg-require-effective-target strub } */
+
+bool __attribute__ ((__strub__ ("internal")))
+f(bool i, volatile bool j) /* { dg-warning "'volatile'-qualified parameter is deprecated" "" { target c++20 } } */
+{
+ return (i ^ j) == j;
+}
+
+/* Check for two dereferences of the indirected volatile j parm. */
+/* { dg-final { scan-tree-dump-times {={v} \*j_[0-9+]\(D\)} 2 "optimized" } } */