https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110125
Bug ID: 110125 Summary: Variables are reported as uninitialized when only set inside WITH statement Product: gcc Version: 13.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: modula2 Assignee: gaius at gcc dot gnu.org Reporter: ad...@tho-otto.de Target Milestone: --- In the following fragment: MODULE foo; TYPE Date = RECORD day: INTEGER; END; PROCEDURE test(): Date; VAR d: Date; BEGIN WITH d DO day := 0; END; RETURN d; END test; END foo. When compiling with $ gm2 -c -O2 -Wall foo.mod i get reports about d being uninitialized: foo.mod:9:5: warning: In procedure ‘test’: variable ‘d’ is being used but it is never initialized in procedure ‘test’ 9 | VAR d: Date; | ^ This does not happen when *not* using WITH, eg MODULE foo; TYPE Date = RECORD day: INTEGER; END; PROCEDURE test(): Date; VAR d: Date; BEGIN d.day := 0; RETURN d; END test; END foo.