diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/tc1/dr20.C')
-rw-r--r-- | gcc/testsuite/g++.dg/tc1/dr20.C | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/tc1/dr20.C b/gcc/testsuite/g++.dg/tc1/dr20.C new file mode 100644 index 000000000..fe5862129 --- /dev/null +++ b/gcc/testsuite/g++.dg/tc1/dr20.C @@ -0,0 +1,34 @@ +// { dg-do run } +// Origin: Giovanni Bajo <giovannibajo at gcc dot gnu dot org> +// DR20: Some clarifications needed for 12.8 para 15 + +extern "C" void printf(const char*, ...); +extern "C" void abort(void); + +int count = 0; + +class Thing { +public: + Thing() { + } + ~Thing() { + } + Thing(const Thing&) + { + count += 1; + } +}; + +Thing f() { + Thing t; + return t; +} + +int main(void) +{ + Thing t2 = f(); + printf("%d %x\n", count, &t2); + if (count != 0) + abort(); + return 0; +} |