https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119088
Bug ID: 119088 Summary: ICE when for loop accesses an unknown variable as the iterator Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: modula2 Assignee: gaius at gcc dot gnu.org Reporter: gaius at gcc dot gnu.org Target Milestone: --- cc1gm2 will ICE if an unknown variable is used as the iterator in a for loop. Consider the following program: $ cat tinyfor4.mod MODULE tinyfor4 ; VAR v: INTEGER; BEGIN FOR i := 0 TO v DO END END tinyfor4. cc1gm2: internal compiler error: illegal symbol 0x2eea067 internal_error(char const*, ...) ../../gcc/diagnostic-global-context.cc:517 0x43372c m2linemap_internal_error ../../gcc/m2/gm2-gcc/m2linemap.cc:254 0x5b1798 M2Emit_InternalError ../../gcc/m2/gm2-compiler/M2Emit.mod:56 0x4830a5 M2Error_InternalError ../../gcc/m2/gm2-compiler/M2Error.mod:168 0x54a4d3 AssertInRange ../../gcc/m2/gm2-compiler/SymbolTable.mod:8317 0x53ecd5 SymbolTable_IsRecord ../../gcc/m2/gm2-compiler/SymbolTable.mod:11640 0x50ee19 M2SymInit_ConfigSymInit ../../gcc/m2/gm2-compiler/M2SymInit.mod:205 0x536118 SymbolTable_PutVar ../../gcc/m2/gm2-compiler/SymbolTable.mod:6946