diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.jason/rvalue2.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.jason/rvalue2.C | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rvalue2.C b/gcc/testsuite/g++.old-deja/g++.jason/rvalue2.C new file mode 100644 index 000000000..77189a5eb --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.jason/rvalue2.C @@ -0,0 +1,18 @@ +// { dg-do run } +// Test for undesired aliasing. + +struct A { + const A * get_this () const { return this; } +}; + +int main () +{ + A a; + int r = 0; + const A& ar1 = (A)a; + if (&ar1 == &a) + r |= 1; + if (A(a).get_this () == &a) + r |= 2; + return r; +} |