This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: PATCH: Reguire __cxa_atexit for ext/{new, throw}_allocator/deallocate_global.cc
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Dave Korn <dave dot korn dot cygwin at googlemail dot com>
- Cc: Paolo Carlini <paolo dot carlini at oracle dot com>, gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org
- Date: Mon, 01 Mar 2010 21:27:03 +0100
- Subject: Re: PATCH: Reguire __cxa_atexit for ext/{new, throw}_allocator/deallocate_global.cc
- References: <yddtyt6ln07.fsf@CeBiTec.Uni-Bielefeld.DE> <4B853C02.5000204@oracle.com> <4B854F49.5050104@gmail.com>
Dave Korn <dave.korn.cygwin@googlemail.com> writes:
> Shouldn't this be xfailed on solaris, rather than skipped on all
> non-cxa_atexit targets?
no, this way lies madness ;-( I'm strongly opposed to added any
target-based xfails or skips if there's a general feature that can be
tested for. If it's not __cxa_atexit, suggest another name for the
feature test, and we can check for cygwin there in some way. A
prominent example (which I'll attack soon) is the large list of
different target lists used to decide if the target has pthread
support. This is both inconsistent and a nightmare to maintain, e.g. if
adding a new target.
> The FAIL in this case is indicating an ABI violation w.r.t order of dtors,
> which could equally happen on non-cxa_atexit systems that implement some
> variant scheme (such as e.g. get_exit_frame_monitor hooks!) and it seems
> useful to me if the testsuite flags that up, regardless of the internal
> implementation details of how the system handles (or, in this case, fails to
> handle correctly) finalisation.
Exactly my suggestion: just give an appropriate name and add your target
(or a runtime test) to the feature test.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University