Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.old-deja/g++.jason/temporary4.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
// { dg-do run } // Bug: g++ initializes both B::i and B::j before destroying any temps. extern "C" int printf (const char *, ...); int c = 0; int d = 0; int r = 0; struct A { A() { if (c != d) r = 1; ++c; } A(const A&); // declare so g++ returns A on the stack ~A() { ++d; } operator int () { return 0; } }; A foo () { return A(); } struct B { int i; int j; B(): i(foo()), j(foo()) { } }; int main() { B b; return r; }