Jack Howarth <[EMAIL PROTECTED]> writes: > In that case it also passes the test case properly. It seems to me > that if the only reason we included the g++-cxa-atexit.dpatch > was to satisfy the known problem... > > Global destructors are not run in the correct order. > > > Global destructors should be run in the reverse order of their > constructors completing. In most cases this is the same as the > reverse order of constructors starting, but sometimes it is > different, and that is important. You need to compile and link your > p > > > ...that we don't need this patch
This patch is indeed needed to satisfy the problem above; without this option, the compiler does not always implement C++ correctly (see the example in my other message). > and it is undesirable because > 1) no other distro is using it and FSF has this flag off by default > in all compiler releases That's partially a bug in the other distributions (for not activating the flag); partially a bug in gcc (for not activating it automatically if it detects that the platform supports it); partially simply due to the fact that the flag was introduced in gcc 3.0, so older distributions could not possibly have used it (and, consequently, those distributions have bugs in their C++ compiler relating to dtor ordering). > 2) it currently causes breakage in binutils If this breakage is due to proper use of binutils, then there is clearly a bug in binutils here; I'm not sure working around this bug by breaking C++ programs is acceptable. Regards, Martin -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]