Dwarf: Wrong Line info after inlined specialization of generics (Debugger breakpoints does not work in some cases)
* Lazarus/FPC Version: Lazarus 2.0.12 r64642 FPC 3.2.0 x86_64-win64-win32/win64
* Operating System: Windows 10 (1809 LTSC)
* CPU / Bitness: 64
Tested with latest 2.2.0 RC1 as well.
## What happens
Debugger breakpoints does not work below the line `TValue.From<T>(val)`.
Other problem, seems to be related to FPC project, but attached example produce runtime error as well.
Same code works with Delphi 10.2 without problems.
```pascal
TGeneric<T> = class
Items: TList<T>;
constructor Create();
destructor Destroy(); override;
end;
```
```pascal
destructor TGeneric<T>.Destroy();
var
i: Integer;
Val: TValue;
begin
for i := 0 to Items.Count - 1 do
begin
// Not optimized, RTTI evaluation for each item, just to show that FPC can't run similar code
Val := TValue.From<T>(Items[i]);
// Starting from here breakpoints does not work in FPC
if Val.Kind = tkClass then
Val.AsObject.Free();
if Val.Kind = tkInterface then
// FPC can't run this code, Delphi 10.2 works
if Supports(Val.AsInterface, ISomeBaseInterface) then
(Val.AsInterface as ISomeInterface).SelfDestruction() // Or some another operation
else
raise Exception.Create('Wrong interface');
end;
Items.Free;
inherited;
end;
```
## What did you expect
- Debugger breakpoints should work as expected;
- Project should run without runtime error.
This problem can be reported separately, when FPC bug tracker will work.
## Steps to reproduce
Build and run attached project.
[generic-interface-bug.7z](/uploads/ca4e3cfcd152b99476836937cfd290fb/generic-interface-bug.7z)
issue