From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthias Klose To: gcc-gnats@gcc.gnu.org, debian-gcc@lists.debian.org Subject: libstdc++/3551: error in auto_ptr implementation Date: Tue, 03 Jul 2001 15:26:00 -0000 Message-id: X-SW-Source: 2001-07/msg00078.html List-Id: >Number: 3551 >Category: libstdc++ >Synopsis: error in auto_ptr implementation >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: rejects-legal >Submitter-Id: net >Arrival-Date: Tue Jul 03 15:26:01 PDT 2001 >Closed-Date: >Last-Modified: >Originator: Wichert Akkerman >Release: 3.0 (Debian GNU/Linux) >Organization: The Debian project >Environment: System: Debian GNU/Linux (testing/unstable) Architecture: i686 host: i386-linux build: i386-linux target: i386-linux configured with: ../src/configure -v --enable-languages=c,c++,java,f77,proto,objc --prefix=/usr --infodir=/share/info --mandir=/share/man --enable-shared --with-gnu-as --with-gnu-ld --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --disable-checking --enable-threads=posix --enable-java-gc=boehm --with-cpp-install-dir=bin --enable-objc-gc i386-linux >Description: [ Reported to the Debian BTS as report #101371. Please CC 101371-quiet@bugs.debian.org on replies. Log of report can be found at http://bugs.debian.org/101371 ] The code below does not compile with g++ 3.0, but it seems correct judging by my C++ books. Wichert. #include #include using namespace std; int main(int, char**) { auto_ptr api(new int(5)); list > lapi; lapi.push_back(api); return 0; } [Comment by Laurent Bonnaud :] This one is much more complicated. I agree with Wichert that this should work, but this is much more involved. I could not think about an easy fix. If you look at /usr/include/g++-v3/bits/std_memory.h, you'll see this comment that lacks precision: // According to the C++ standard, these conversions are required. Most // present-day compilers, however, do not enforce that requirement---and, // in fact, most present-day compilers do not support the language // features that these conversions rely on. The methods it refers too are crucial in making this testcase work. So the real question is: does g++ 3.0 support the necessary language features ? >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: