> this is the breakage of SEH on 64-bit Windows introduced by defaulting to
> the -freorder-blocks-and-partition optimization.  It is fixed by:
>   1. Defining ASM_DECLARE_COLD_FUNCTION_NAME &
> ASM_DECLARE_COLD_FUNCTION_SIZE, 2. Emitting a nop in one more case for SEH,
>   3. Splitting the exception table into hot and cold parts; that's necessary
> because the LSDA is referenced directly in the SEH scheme.
> 
> Tested on x86-64/Windows, x86-64/Linux and IA-64/Linux, OK for mainline?

Also tested on x86/Windows to verify that it doesn't break anything.

Can anyone approve the middle-end bits?  The rest effectively affects only the 
-freorder-blocks-and-partition optimization on x86-64/Windows, which has never 
worked in C++ or Ada, so I don't think that it can do any harm...

-- 
Eric Botcazou

Reply via email to