------- Comment #1 from gbrammer at gmx dot de  2009-05-07 19:05 -------
Still happens with "g++-4.4 (Debian 4.4.0-4) 4.4.1".

Here's a version with printfs in the destructor and constructors:

extern "C" { int printf(const char *format, ...); }
struct Foo {
    Foo(Foo && from) { printf("move constructor\n"); }
    Foo() { printf("constructor\n"); }
    ~Foo() { printf("destructor\n"); }
/*private:
    Foo(const Foo & from) { printf("copy constructor\n"); }*/
};
Foo CreateFoo(bool b) {
  Foo f;
  if (b) return Foo();
  return f;
}
int main () {
    Foo f(CreateFoo(false));
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39126

Reply via email to