[DebugInfo] Fix potential CU mismatch for attachRangesOrLowHighPC
When a CU attaches some ranges for a subprogram or an inlined code, the CU should be that of the subprogram/inlined code that was emitted. If not, then these emitted ranges will use the incorrect base of the CU in `emitRangeList`. A reproducible example is: When linking these two LLVM IRs, dsymutil will report no mapping for range or inconsistent range data warnings. `foo.swift` ```swift import AppKit.NSLayoutConstraint public class Foo { public var c: Int { get { Int(NSLayoutConstraint().constant) } set { } } } ``` `main.swift` ```swift // no mapping for range let f: Foo! = nil // inconsistent range data //let l: Foo = Foo() ``` Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D136039
Loading
Please sign in to comment