diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.jason/ref7.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.jason/ref7.C | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/ref7.C b/gcc/testsuite/g++.old-deja/g++.jason/ref7.C new file mode 100644 index 000000000..a7a7f8cd5 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.jason/ref7.C @@ -0,0 +1,22 @@ +// { dg-do run } +// Testcase for the lifetime of a temporary object which is used to +// initialize a reference. + +int destroyed = 0; + +struct A { + A() { } + A(int) { } + ~A() { destroyed++; } +}; + +A a; +A foo () { return a; } + +int main() +{ + const A& ar = foo(); + const A& ar2 = A(); + const A& ar3 = (A)1; + return destroyed; +} |