https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108551
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
I might reduced that:
$ cat Termbase.mod
IMPLEMENTATION MODULE Termbase ;
TYPE
ReadMethods = POINTER TO RECORD
s : StatusProcedure ;
END ;
WriteMethod = POINTER TO RECORD
END ;
VAR
rStack: ReadMethods ;
wStack: WriteMethod ;
PROCEDURE AssignRead (rp: ReadProcedure; sp: StatusProcedure;
VAR Done: BOOLEAN) ;
BEGIN
IF rStack=NIL
THEN
END
END AssignRead ;
(*
*)
PROCEDURE UnAssignRead (VAR Done: BOOLEAN) ;
END UnAssignRead ;
PROCEDURE Read (VAR ch: CHAR) ;
END Read ;
PROCEDURE KeyPressed () : BOOLEAN ;
BEGIN
IF rStack=NIL
THEN
RETURN( rStack^.s() )
ELSE
RETURN( rStack^.s() )
END
END KeyPressed ;
PROCEDURE AssignWrite (wp: WriteProcedure; VAR Done: BOOLEAN) ;
BEGIN
IF wStack=NIL
THEN
END
END AssignWrite ;
PROCEDURE UnAssignWrite (VAR Done: BOOLEAN) ;
END UnAssignWrite ;
PROCEDURE Write (VAR ch: CHAR) ;
END Write ;
END Termbase.
$ /dev/shm/objdir/./gcc/gm2 -B/dev/shm/objdir/./gcc/ Termbase.mod
-Werror=return-type -I/home/marxin/Programming/gcc/gcc/m2/gm2-libs-pim
-I/home/marxin/Programming/gcc/gcc/m2/gm2-libs
Termbase.mod: In function ‘main’:
Termbase.mod:1:32: error: control reaches end of non-void function
[-Werror=return-type]
1 | IMPLEMENTATION MODULE Termbase ;
| ^
cc1gm2: some warnings being treated as errors