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

--- 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:b7f70cfdb6f7ab369ecca14a99a0064d2a11ddd2

commit r14-9463-gb7f70cfdb6f7ab369ecca14a99a0064d2a11ddd2
Author: Gaius Mulley <gaiusm...@gmail.com>
Date:   Thu Mar 14 11:23:42 2024 +0000

    PR modula2/114333 set type comparison against a cardinal should cause an
error

    The type checker M2Check.mod needs extending to detect if a set, array or
    record is in either operand at the end of the cascaded test list.

    gcc/m2/ChangeLog:

            PR modula2/114333
            * gm2-compiler/M2Check.mod (checkUnbounded): New procedure
            function.
            (checkArrayTypeEquivalence): Extend checking to cover unbounded
            arrays, arrays and constants.
            (IsTyped): Simplified the expression and corrected a test for
            IsConstructor.
            (checkTypeKindViolation): New procedure function.
            (doCheckPair): Call checkTypeKindViolation.
            * gm2-compiler/M2GenGCC.mod (CodeStatement): Remove parameters
            to CodeEqu and CodeNotEqu.
            (PerformCodeIfEqu): New procedure.
            (CodeIfEqu): Rewrite.
            (PerformCodeIfNotEqu): New procedure.
            (CodeIfNotEqu): Rewrite.
            * gm2-compiler/M2Quads.mod (BuildRelOpFromBoolean): Correct
            comment.

    gcc/testsuite/ChangeLog:

            PR modula2/114333
            * gm2/cse/pass/testcse54.mod: New test.
            * gm2/iso/run/pass/array9.mod: New test.
            * gm2/iso/run/pass/strcons3.mod: New test.
            * gm2/iso/run/pass/strcons4.mod: New test.
            * gm2/pim/fail/badset1.mod: New test.
            * gm2/pim/fail/badset2.mod: New test.
            * gm2/pim/fail/badset3.mod: New test.
            * gm2/pim/fail/badset4.mod: New test.

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

Reply via email to