------- Comment #13 from rakdver at gcc dot gnu dot org 2006-01-23 08:53 ------- One more question; how is the throw code supposed to work? We allocate D.2069, initialize it, if there is a problem during it initialization, we deallocate it, then pass it to __cxa_throw anyway? This does not make much sense to me.
TARGET_EXPR <D.2069, __cxa_allocate_exception (1)>; try { *(struct logic_error *) D.2069 = exp; } catch { __cxa_free_exception (D.2069); }; __cxa_throw (D.2069, (void *) &_ZTI11logic_error, 0B); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24996