https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108551
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- OK, I have a reduced MODULE Test; PROCEDURE X (VAR Y : BOOLEAN) : BOOLEAN; BEGIN IF Y THEN RETURN FALSE ELSE RETURN TRUE END END X ; END Test. and > ./cc1gm2 -quiet test.mod -I m2/gm2-libs -I ~/src/trunk/gcc/m2/gm2-libs -O2 > -Werror=return-type test.mod:1:1: note: In program module 'Test': dynamic linking enabled but no module ctor list has been created, hint use -fuse-list=filename or -fgen-module-list=- 1 | MODULE Test; | ^~~~~~ test.mod: In function 'main': test.mod:1:12: error: control reaches end of non-void function [-Werror=return-type] 1 | MODULE Test; | ^ cc1gm2: some warnings being treated as errors but this is in function "main", so likely not a reduction of the original issue.