After extensive trial-and-error testing, I've identified a compiler crash in x86 PB 6.21 C backend related to structure naming length.
This was particularly challenging to isolate, as the error only manifests with long names and nested arrays.
Minimal Reproduction Case:
Code: Select all
Structure Str_Antidisestablishmentarianism
i.i
EndStructure
Structure Str_Floccinaucinihilipilification
Array Antidisestablishmentarianism.Str_Antidisestablishmentarianism(0)
EndStructure
Structure Str_Supercalifragilisticexpialidocious
Array Floccinaucinihilipilification.Str_Floccinaucinihilipilification(0)
EndStructure
Structure Str_Hippopotomonstrosesquipedaliophobias
Array Supercalifragilisticexpialidocious.Str_Supercalifragilisticexpialidocious(0)
EndStructure
Structure Str_Pneumonoultramicroscopicsilicovolcanoconiosis
Array Hippopotomonstrosesquipedaliophobias.Str_Hippopotomonstrosesquipedaliophobias(0)
EndStructure
Global Pneumonoultramicroscopicsilicovolcanoconiosis.Str_Pneumonoultramicroscopicsilicovolcanoconiosis
ReDim Pneumonoultramicroscopicsilicovolcanoconiosis\Hippopotomonstrosesquipedaliophobias(1)
ReDim Pneumonoultramicroscopicsilicovolcanoconiosis\Hippopotomonstrosesquipedaliophobias(1)\Supercalifragilisticexpialidocious(1)
ReDim Pneumonoultramicroscopicsilicovolcanoconiosis\Hippopotomonstrosesquipedaliophobias(1)\Supercalifragilisticexpialidocious(1)\Floccinaucinihilipilification(1)
ReDim Pneumonoultramicroscopicsilicovolcanoconiosis\Hippopotomonstrosesquipedaliophobias(1)\Supercalifragilisticexpialidocious(1)\Floccinaucinihilipilification(1)\Antidisestablishmentarianism(1)
The array names themselves aren't excessively long, but their length seems to trigger the same problematic behavior.
I was nearly driven crazy debugging this because it's a port from an old PureBasic implementation that worked perfectly fine.
I hope this would help to fix this pbcompiler crash
BR