https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120389
--- Comment #5 from Gaius Mulley <gaius at gcc dot gnu.org> --- Confirmed. Also this code provokes the bug: $ cat testxindr2.mod MODULE testxindr2 ; (*!m2iso+gm2*) CONST NulName = 0 ; TYPE Name = CARDINAL ; PROCEDURE set (VAR n: Name) ; BEGIN n := NulName END set ; VAR n: Name ; BEGIN set (n) END testxindr2. $ gm2 -c testxindr2.mod testxindr2.mod:10:6: error: In procedure ‘set’: assignment check caught mismatch between ‘n’ and ‘NulName’ 10 | n := NulName | ~~^~~~~~~~~~