------- Comment #8 from jobnoorman at gmail dot com 2010-09-09 08:00 ------- (In reply to comment #7) > That's because the compiler's expectation is that if you define > __cxa_guard_acquire, you also define __cxa_guard_release and > __cxa_guard_abort. > And, they should be declared throw() as well.
I was just trying to provide a minimal reproducible crash. In my actual program, all three functions are, of course, defined and properly implemented and GCC also crashes. (BTW, where did you find that they should be declared throw()? Anyway, GCC also crashes if I declare them like that.) But let's stick to the point here: GCC crashes and it shouldn't, no matter what I do. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45603