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

--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Gaius Mulley <ga...@gcc.gnu.org>:

https://gcc.gnu.org/g:170717fa243ef466a99498113167627539af4553

commit r16-1029-g170717fa243ef466a99498113167627539af4553
Author: Gaius Mulley <gaiusm...@gmail.com>
Date:   Sun Jun 1 01:05:55 2025 +0100

    PR modula2/120497: error is generated for good code when returning a
pointer var variable

    The return type checking needs to skip over the Lvalue part of the VAR
    parameter or variable.

    gcc/m2/ChangeLog:

            PR modula2/120497
            * gm2-compiler/M2Range.mod (IsAssignmentCompatible): Remove from
            import list.
            (FoldTypeReturnFunc): Rewrite to skip the Lvalue of a var
            variable.
            (CodeTypeReturnFunc): Ditto.
            (CodeTypeIndrX): Call AssignmentTypeCompatible rather than
            IsAssignmentCompatible.
            (FoldTypeIndrX): Ditto.

    gcc/testsuite/ChangeLog:

            PR modula2/120497
            * gm2/pim/pass/ReturnType.mod: New test.
            * gm2/pim/pass/ReturnType2.mod: New test.

    Signed-off-by: Gaius Mulley <gaiusm...@gmail.com>

Reply via email to