mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-11 07:15:26 +00:00
After Jakob's r147938 exception handling on i386 was completely broken.
Restore the (obviously wrong) behavior from before r147938 without relying on undefined behavior. Add a fat FIXME note. This should fix nightly tester failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148030 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d2070b00ef
commit
e2eb92578a
@ -455,6 +455,13 @@ encodeCompactUnwindRegistersWithFrame(unsigned SavedRegs[CU_NUM_SAVED_REGS],
|
|||||||
};
|
};
|
||||||
const unsigned *CURegs = (Is64Bit ? CU64BitRegs : CU32BitRegs);
|
const unsigned *CURegs = (Is64Bit ? CU64BitRegs : CU32BitRegs);
|
||||||
|
|
||||||
|
// FIXME: The code below is WRONG and breaks tests on i386, see
|
||||||
|
// SingleSource/Regression/C++/EH/ctor_dtor_count.exec
|
||||||
|
// SingleSource/Regression/C++/EH/exception_spec_test.exec
|
||||||
|
// SingleSource/Regression/C++/EH/function_try_block.exec
|
||||||
|
// SingleSource/Regression/C++/EH/throw_rethrow_test.exec
|
||||||
|
return ~0U;
|
||||||
|
|
||||||
// Encode the registers in the order they were saved, 3-bits per register. The
|
// Encode the registers in the order they were saved, 3-bits per register. The
|
||||||
// registers are numbered from 1 to 6.
|
// registers are numbered from 1 to 6.
|
||||||
uint32_t RegEnc = 0;
|
uint32_t RegEnc = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user