[DebugInfo] Fix build failed in clang-x86_64-linux-selfhost-modules.

Only generate symbol difference expression if needed.

llvm-svn: 338484
This commit is contained in:
Hsiangkai Wang 2018-08-01 04:17:41 +00:00
parent 36432a70c1
commit 2089e4c8f1
1 changed files with 7 additions and 1 deletions

View File

@ -954,7 +954,13 @@ bool MCAssembler::relaxDwarfLineAddr(MCAsmLayout &Layout,
MCContext &Context = Layout.getAssembler().getContext();
uint64_t OldSize = DF.getContents().size();
int64_t AddrDelta;
bool Abs = DF.getAddrDelta().evaluateAsAbsolute(AddrDelta, Layout);
bool Abs;
if (getBackend().requiresDiffExpressionRelocations())
Abs = DF.getAddrDelta().evaluateAsAbsolute(AddrDelta, Layout);
else {
Abs = DF.getAddrDelta().evaluateKnownAbsolute(AddrDelta, Layout);
assert(Abs && "We created a line delta with an invalid expression");
}
int64_t LineDelta;
LineDelta = DF.getLineDelta();
SmallVectorImpl<char> &Data = DF.getContents();