Error Undefined symbol .La?????? when using inlined generic methods from different unit
<h3><details><summary>Original Reporter info from Mantis: <small>dmz73 @dmz73</small></summary><small>
- **Reporter name:**
</small></details></h3>
## Description:
Using inlined generic functions from different unit causes error undefined symbol: .La?????
## Steps to reproduce:
Create simple program:
``` pascal
program Project1;
{$mode delphi}
uses unit1;
var R: TRec;
begin
R.GetArr<single>;
end.
Add unit1:
unit Unit1;
{$mode Delphi}
interface
type
TRec = record
C: TArray<single>;
function GetArr<T>: TArray<T>; inline;
end;
implementation
function TRec.GetArr<T>: TArray<T>;
begin
result := nil;
case GetTypeKind(T) of
tkFloat:
if SizeOf(T) = SizeOf(Single) then result := C;
end;
end;
end.
```
Compile the program and following error is reported:<br/>
Error: Undefined symbol: .La17 (first seen in project1.o)
``` pascal
If all code is in the same unit then compile is successful.
program Project1;
{$mode delphi}
//uses unit1;
type
TRec = record
C: TArray<single>;
function GetArr<T>: TArray<T>; inline;
end;
function TRec.GetArr<T>: TArray<T>;
begin
result := nil;
case GetTypeKind(T) of
tkFloat:
if SizeOf(T) = SizeOf(Single) then result := C;
end;
end;
var R: TRec;
begin
R.GetArr<single>;
end.
```
## Mantis conversion info:
- **Mantis ID:** 38827
- **OS:** Windows
- **OS Build:** 10
- **Platform:** Win64
- **Version:** 3.3.1
- **Monitored by:** » @MageSlayer (Denis Golovan)
issue