------- Comment #7 from jakub at gcc dot gnu dot org 2010-09-09 07:45 ------- 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.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45603