diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/strub-internal-pr112938.C')
-rw-r--r-- | gcc/testsuite/g++.dg/strub-internal-pr112938.C | 12 |
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" } } */ |