forked from OSchip/llvm-project
If we're emitting additional CIEs due to personality functions
don't emit the default one. Explicitly check for the NULL CIE later. llvm-svn: 80146
This commit is contained in:
parent
c2645717ca
commit
a258c62ea1
|
@ -203,7 +203,7 @@ void DwarfException::EmitFDE(const FunctionEHFrameInfo &EHFrameInfo) {
|
|||
|
||||
// If there is a personality and landing pads then point to the language
|
||||
// specific data area in the exception table.
|
||||
if (EHFrameInfo.PersonalityIndex) {
|
||||
if (MMI->getPersonalities()[0] != NULL) {
|
||||
Asm->EmitULEB128Bytes(4);
|
||||
Asm->EOL("Augmentation size");
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ MachineModuleInfo::MachineModuleInfo()
|
|||
, CallsUnwindInit(0)
|
||||
, DbgInfoAvailable(false)
|
||||
{
|
||||
// Always emit "no personality" info
|
||||
// Always emit some info, by default "no personality" info.
|
||||
Personalities.push_back(NULL);
|
||||
}
|
||||
MachineModuleInfo::~MachineModuleInfo() {
|
||||
|
@ -148,7 +148,12 @@ void MachineModuleInfo::addPersonality(MachineBasicBlock *LandingPad,
|
|||
if (Personalities[i] == Personality)
|
||||
return;
|
||||
|
||||
Personalities.push_back(Personality);
|
||||
// If this is the first personality we're adding go
|
||||
// ahead and add it at the beginning.
|
||||
if (Personalities[0] == NULL)
|
||||
Personalities[0] = Personality;
|
||||
else
|
||||
Personalities.push_back(Personality);
|
||||
}
|
||||
|
||||
/// addCatchTypeInfo - Provide the catch typeinfo for a landing pad.
|
||||
|
|
Loading…
Reference in New Issue