crash (stack-overflow) in compiler 3.3.1 - assigning pointers with recursive type definition - compare_defs_ext -> equal_defs -> compare_defs_ext ...
Tested with 3.3.1 f50e6dfe8e1f84e98395f8de4683ad729b6895f2 Compiling the below code crashes fpc. ```Pascal program Project1; {$mode objfpc}{$H+} type TRecursePtrA1 = ^TRecursePtrA2; TRecursePtrA2 = ^TRecursePtrA1; var RecursePtrA1: TRecursePtrA1; RecursePtrA2: TRecursePtrA2; begin RecursePtrA2 := RecursePtrA1; end. ``` This should probably be an "incompatible types" error? I discovered this due to a typo. The code was meant to be `RecursePtrA2 := @RecursePtrA1;`. And with the `@` it compiles just fine. ``` Free Pascal Compiler version 3.3.1 [2022/03/23] for x86_64 Copyright (c) 1993-2022 by Florian Klaempfl and others (1002) Target OS: Win64 for x64 (3104) Compiling C:\Users\martin\AppData\Local\Temp\project1.lpr C:\Users\martin\AppData\Local\Temp\project1.lpr(10,19) Warning: (5037) Variable "RecursePtrA1" does not seem to be initialized C:\Users\martin\AppData\Local\Temp\project1.lpr(10,16) Error: (1026) Compilation raised exception internally Fatal: (1018) Compilation aborted An unhandled exception occurred at $000000010009CEBC: EStackOverflow: Stack overflow or stack misalignment $000000010009CEBC compare_defs_ext, line 268 of defcmp.pas $00000001000A0108 equal_defs, line 2108 of defcmp.pas $000000010009F393 compare_defs_ext, line 1588 of defcmp.pas $00000001000A0108 equal_defs, line 2108 of defcmp.pas $000000010009F393 compare_defs_ext, line 1588 of defcmp.pas $00000001000A0108 equal_defs, line 2108 of defcmp.pas $000000010009F393 compare_defs_ext, line 1588 of defcmp.pas $00000001000A0108 equal_defs, line 2108 of defcmp.pas $000000010009F393 compare_defs_ext, line 1588 of defcmp.pas $00000001000A0108 equal_defs, line 2108 of defcmp.pas $000000010009F393 compare_defs_ext, line 1588 of defcmp.pas $00000001000A0108 equal_defs, line 2108 of defcmp.pas $000000010009F393 compare_defs_ext, line 1588 of defcmp.pas $00000001000A0108 equal_defs, line 2108 of defcmp.pas $000000010009F393 compare_defs_ext, line 1588 of defcmp.pas $00000001000A0108 equal_defs, line 2108 of defcmp.pas $000000010009F393 compare_defs_ext, line 1588 of defcmp.pas ```
issue