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