Skip to content

Commit 85daa95

Browse files
committed
[MC] Ensure UseAssemblerInfoForParsing is true upon return
Fixes: 5ee580bbfb11d781c220c19416c1a97b657e039a 5ee580bbfb11d781c220c19416c1a97b657e039a does not ensure that UseAssemblerInfoForParsing is re-enabled. This is benign but not good.
1 parent c923d39 commit 85daa95

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

llvm/lib/MC/MCDwarf.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include "llvm/ADT/DenseMap.h"
1212
#include "llvm/ADT/Hashing.h"
1313
#include "llvm/ADT/STLExtras.h"
14+
#include "llvm/ADT/ScopeExit.h"
1415
#include "llvm/ADT/SmallString.h"
1516
#include "llvm/ADT/SmallVector.h"
1617
#include "llvm/ADT/StringRef.h"
@@ -1869,6 +1870,8 @@ void MCDwarfFrameEmitter::Emit(MCObjectStreamer &Streamer, MCAsmBackend *MAB,
18691870
// label differences will be evaluate at write time.
18701871
assert(Streamer.getUseAssemblerInfoForParsing());
18711872
Streamer.setUseAssemblerInfoForParsing(false);
1873+
auto Enable = llvm::make_scope_exit(
1874+
[&]() { Streamer.setUseAssemblerInfoForParsing(true); });
18721875

18731876
// Emit the compact unwind info if available.
18741877
bool NeedsEHFrameSection = !MOFI->getSupportsCompactUnwindWithoutEHFrame();
@@ -1936,7 +1939,6 @@ void MCDwarfFrameEmitter::Emit(MCObjectStreamer &Streamer, MCAsmBackend *MAB,
19361939

19371940
Emitter.EmitFDE(*CIEStart, Frame, I == E, *SectionStart);
19381941
}
1939-
Streamer.setUseAssemblerInfoForParsing(true);
19401942
}
19411943

19421944
void MCDwarfFrameEmitter::encodeAdvanceLoc(MCContext &Context,

0 commit comments

Comments
 (0)