Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/opt/pr15054-2.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// PR middle-end/15054 // { dg-do run } // { dg-options "-O2" } extern "C" void abort (void); void __attribute__((noinline)) check (long x, long y) { if (x != y) abort (); } struct A { A() : a(2) { check (a, 2); } ~A() { check (a, 2); } private: long a; }; class B { long b; B& operator =(const B& ); public: B (long p) : b(p) { check (b, 6); } B (const B& p) : b(p.b) { check (b, 6); } ~B () { check (b, 6); A obj; check (b, 6); } B foo() { return B(*this); } }; int main () { B o(6); o.foo().foo(); return 0; }