Your message dated Sat, 18 Jun 2016 00:52:54 +0200 with message-id <[email protected]> and subject line closing bugs reported against ancient GCC versions has caused the Debian Bug report #511200, regarding g++-4.3: doesn't work destructor of local object to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact [email protected] immediately.) -- 511200: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=511200 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: g++-4.3 Version: 4.3.2-1.1 Severity: normal In the example below destructor of local object doesn't work (there is no output from it). However, if the call of f() is wrapped into try { f(); } catch (...) { throw; } then the destructor produces expected output. Here is the result of running the program without catch(...): $ g++ -o test -DNO_TRY -Wall -Wextra -pedantic test.cc $ ./test constructing MyTest@0xff7fd0ff terminate called after throwing an instance of 'MyError' Aborted And now with handler: $ g++ -o test -Wall -Wextra -pedantic test.cc $ ./test constructing MyTest@0xff93ca1f destructing MyTest@0xff93ca1f terminate called after throwing an instance of 'MyError' Aborted The program (test.cc): #include <iostream> using namespace std; class MyTest { public: MyTest() { cout << "constructing MyTest@" << this << '\n'; cout.flush(); } ~MyTest() { cout << "destructing MyTest@" << this << '\n'; cout.flush(); } }; class MyError {}; void f() { MyTest m; throw MyError(); } int main() { #ifdef NO_TRY f(); #else try { f(); } catch (...) { throw; } #endif } -- System Information: Debian Release: 5.0 APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental') Architecture: i386 (x86_64) Kernel: Linux 2.6.26-1-amd64 (SMP w/2 CPU cores) Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages g++-4.3 depends on: ii gcc-4.3 4.3.2-1.1 The GNU C compiler ii gcc-4.3-base 4.3.2-1.1 The GNU Compiler Collection (base ii libc6 2.7-18 GNU C Library: Shared libraries ii libgmp3c2 2:4.2.2+dfsg-3 Multiprecision arithmetic library ii libmpfr1ldbl 2.3.2.dfsg.1-1 multiple precision floating-point ii libstdc++6-4.3-dev 4.3.2-1.1 The GNU Standard C++ Library v3 (d g++-4.3 recommends no packages. Versions of packages g++-4.3 suggests: pn g++-4.3-multilib <none> (no description available) ii gcc-4.3-doc 4.3.2.nf1-1 documentation for the GNU compiler pn libstdc++6-4.3-dbg <none> (no description available) -- no debconf information -- Dmitri Paduchikh
--- End Message ---
--- Begin Message ---This bug has been reported against an ancient version of gpc (4.1), gcc/g++/gfortran (4.3), or gcj/gij/gobjc (4.4), that was last released with Debian 6.0 (squeeze). But even squeeze-lts has now reached end-of-life and is no longer supported. The bug is assumed to be fixed (or no longer relevant) in newer GCC releases and therefore I'm closing this report now. If the problem is still reproducible in the currently supported versions (gcc-5, gcc-6 or corresponding g++/gcj), feel free to provide more information, reopen and reassign this bug report. Andreas
--- End Message ---

