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

            Bug ID: 101337
           Summary: gfortran doesn't diagnose all operands with constraint
                    violations
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sandra at gcc dot gnu.org
  Target Milestone: ---

In a statement like

    a = x + y

if both x and y violate constraints in the Fortran standard, gfortran only
issues a diagnostic for the first invalid operand and ignores the other one.

I ran into this in my WIP TS 29113 testsuite

https://gcc.gnu.org/pipermail/gcc-patches/2021-July/574115.html

particularly in types/c407b-2.f90 and types/c535b-2.f90.  I was figuring that
since the standard requires implementations to diagnose constraint violations,
it was supposed to diagnose *all* constraint violations, not give up after the
first one in an expression.  :-S

This is probably very low on the scale of bang-for-the-buck so I am not really
expecting it to be fixed any time soon, but as I've xfailed the tests looking
for the omitted diagnostics it would be good to point to an issue recording the
bug.

Reply via email to