https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108551

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Martin Liška from comment #3)
> 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’:

^^^

that's again for 'main', like my attempt at a reduced testcase.  I think
the proper fix is to give up on fixing this diagnostic and instead ignore
-Wreturn-type as intended.

Reply via email to