diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/init/ref16.C')
-rw-r--r-- | gcc/testsuite/g++.dg/init/ref16.C | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/init/ref16.C b/gcc/testsuite/g++.dg/init/ref16.C new file mode 100644 index 000000000..2d56395cb --- /dev/null +++ b/gcc/testsuite/g++.dg/init/ref16.C @@ -0,0 +1,23 @@ +// PR c++/35548 +// { dg-do run } + +int c; +struct A +{ + A() { ++c; } + A(const A&) { ++c; } + ~A() { --c; } +}; + +A f() +{ + return A(); +} + +int i; +const A* ap; +int main() +{ + const A& ar = i ? *ap : f(); + return (c == 0); +} |