Skip to content

Commit 0110bc5

Browse files
committed
Fix IE 200204176 in tarraydef.getmangledparaname for static arrays
Handle anonymous static array types in getmangledparaname instead of raising an internal error. On subsequent builds, PPU-loaded types may have typesym=nil when their mangled name is requested, causing the fallback to getmangledparaname. The previous code only handled array-of-const and open/dynamic arrays, leaving static arrays to IE.
1 parent 36ec77f commit 0110bc5

1 file changed

Lines changed: 3 additions & 4 deletions

File tree

compiler/symdef.pas

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4787,11 +4787,10 @@ implementation
47874787
begin
47884788
if ado_isarrayofconst in arrayoptions then
47894789
getmangledparaname:='array_of_const'
4790+
else if ((highrange=-1) and (lowrange=0)) then
4791+
getmangledparaname:='array_of_'+elementdef.mangledparaname
47904792
else
4791-
if ((highrange=-1) and (lowrange=0)) then
4792-
getmangledparaname:='array_of_'+elementdef.mangledparaname
4793-
else
4794-
internalerror(200204176);
4793+
getmangledparaname:='array$'+tostr(lowrange)+'$'+tostr(highrange)+'$of$'+elementdef.mangledparaname;
47954794
end;
47964795

47974796

0 commit comments

Comments
 (0)