mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-23 14:25:07 +00:00
There is only one current section.
Both MCStreamer and MCObjectStreamer were maintaining a current section variable and they were slightly out of sync. I don't think this was observable, but was inefficient and error prone. Changing this requires a few cascading changes: * SwitchSection has to call ChangeSection earlier for ChangeSection to see the old section. * With that change, ChangeSection cannot call EmitLabel, since during ChangeSection we are still in the old section. * When the object streamer requires a begin label, just reused the existing generic support for begin labels instead of calling EmitLabel directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238357 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -537,9 +537,11 @@ EndStmt:
|
||||
if (getContext().getDwarfVersion() <= 2)
|
||||
Warning(loc, "DWARF2 only supports one section per compilation unit");
|
||||
|
||||
MCSymbol *SectionStartSymbol = getContext().createTempSymbol();
|
||||
getStreamer().EmitLabel(SectionStartSymbol);
|
||||
ELFSection->setBeginSymbol(SectionStartSymbol);
|
||||
if (!ELFSection->getBeginSymbol()) {
|
||||
MCSymbol *SectionStartSymbol = getContext().createTempSymbol();
|
||||
getStreamer().EmitLabel(SectionStartSymbol);
|
||||
ELFSection->setBeginSymbol(SectionStartSymbol);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user