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

Reply via email to