Sytem information:
- LFS-based Linux, with kernel 2.6.15 (with some genpatches)

GCC configuring
---------------
./gcc-3.4.3/configure --prefix=/usr \
        --libexecdir=/usr/lib --enable-shared \
        --enable-threads=posix --enable-__cxa_atexit \
        --enable-clocale=gnu --enable-languages=c,c++

GCC Compiling:
-------------
make

bug description:
-----------------
We compiled the attached source code using the command:
 > g++ --save-temps build_and_destroy.cc -o bug

Running ./bug produced the following output:
A
A copy
A
~A
A.m:1
~A
~A

As you can see, returning the object in the function F didn't call the copy
constructor. We expect the following output:
A
A copy
A
A copy
~A
~A
A.m:2
~A
~A


-- 
           Summary: Returning object ignores copy constructor
           Product: gcc
           Version: 3.4.3
            Status: UNCONFIRMED
          Severity: critical
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ist_alex at yahoo dot com


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

Reply via email to