> While its true that this call is nononlocal, there are plenty of other
> builtins that we expand with just emit_library_call (as opposed to
> emit_libcall_block) that also need this sort of treatment.

I'm a little skeptical, although __sync_synchronize is probably not the only 
one indeed.  I'll experiment.

> Seems to me that this marking ought to be done in emit_library_call,
> for at least most values of LCT_*.  Otherwise you could get the same
> ICE for e.g. memcpy.

For a naked call to memcpy?  I don't think so, this is a call so there will be 
an abnormal edge at the Tree level.  The problem arises only when the abnormal 
edge is created during RTL expansion.

> PS: ARM still uses sjlj exceptions for Ada?  I thought with the obsolescence
> of pre-eabi targets that we'd always use unwind tables now.

Yes, that's the last one.  Nobody has adapted (or submitted to the FSF) the 
#ifdef __ARM_EABI_UNWINDER__ / #endif adjustments present in libsupc++ or 
libjava.

-- 
Eric Botcazou

Reply via email to