Skip to content

MangledName Unhandled exception Access violation

FPC [main]


kek.lpr:

program zcad;

uses u;

begin
end.

u.pas:

unit u;
{$ifdef FPC}{$mode delphi}{$endif}

interface

type
  TUtils = record
    class procedure GenericMethod<T>; static;
  end;
  TMyObj = record
    FAnsiString: AnsiString;
    procedure method;
  end;

var
  GlobObj: TMyObj;

implementation

class procedure TUtils.GenericMethod<T>;
begin
end;

procedure impl_proc(a: Double; b: String);
begin
  TUtils.GenericMethod<byte>;
end;

procedure TMyObj.method;
begin
  impl_proc(1.2, '-');
end;

end.

Compile: fpc.exe -B -n -FuC:\fpclaztrunk\fpc\units\x86_64-win64\rtl kek.lpr

Output:

Error: Compilation raised exception internally
An unhandled exception occurred at $00000001000305E9:
EAccessViolation: Access violation
  $00000001000305E9  GETNAME,  line 2117 of cclasses.pas
  $0000000100093AC1  DEFAULTMANGLEDNAME,  line 7389 of symdef.pas
  $0000000100093A42  MANGLEDNAME,  line 7376 of symdef.pas
  $0000000100093444  HAS_ALIAS_NAME,  line 7183 of symdef.pas
  $00000001001874DA  ADD_INITFINAL_IMPORT,  line 1166 of ngenutil.pas
  $0000000100187301  INSERT_INIT_FINAL_TABLE,  line 1236 of ngenutil.pas
  $0000000100186FF5  INSERTINITFINALTABLE,  line 1128 of ngenutil.pas
  $000000010020B91E  PROC_PROGRAM_AFTER_PARSING,  line 2496 of pmodules.pas
  $000000010020C216  PROC_PROGRAM_DECLARATIONS,  line 2758 of pmodules.pas
  $0000000100062B4E  CONTINUE,  line 276 of ctask.pas
  $0000000100062CC2  PROCESSQUEUE,  line 348 of ctask.pas
  $000000010001B01C  COMPILE,  line 311 of compiler.pas
  $0000000100001B5D  main,  line 306 of pp.pas
  $0000000100002AB6  MAIN_WRAPPER
  $0000000100013B10  EXE_ENTRY,  line 68 of x86_64/cpuwin.inc
  $0000000100001940  _FPC_MAINCRTSTARTUP,  line 107 of sysinit.pp
  $00007FFF70AAE8D7

D12.1CE - OK

📚 Archive: zcad_bug.zip

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information