> 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...