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

Gaius Mulley <gaius at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gaius at gcc dot gnu.org

--- Comment #3 from Gaius Mulley <gaius at gcc dot gnu.org> ---
Created attachment 54380
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54380&action=edit
Proposed fix

PR108612 - m2/gm2-libs-iso/ClientSocket.mod:229:1: error: control
reaches end of non-void function [-Werror=return-type]
PR108551 - gcc/m2/gm2-libs-pim/Termbase.mod:128:1: error: control
reaches end of non-void function [-Werror=return-type]

The immediate fixes would be to ensure that
the offending procedure functions return a value.

However the front end does not correctly declared the throw function to be
noreturn.  Also HALT, Halt, Raise procedures in the libraries need
the <* noreturn *> attribute to be applied.  Finally when these changes
have been made the bootstrap tools mc and pge need rebuilding.

The patch also changes the build flags for m2 libraries to -Wreturn-type
-fcase.
(It it worth checking whether -fcase needs a 2nd implementation should
-fno-exceptions be used - and call Halt).

Reply via email to