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

anlauf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code

--- Comment #2 from anlauf at gcc dot gnu.org ---
OK, here's a better example of the weird situation:

program p
  call s()
  call s(i=7)
  call s(c='a')
  call s(r=3.0)
contains
  subroutine s (i,c,r)
    integer  , value, optional :: i
    character, value, optional :: c
    real     , value, optional :: r
    print *, "present (i), present (r) =", present (i), present (r)
  end subroutine s
end

With 12-branch this prints:

 present (i), present (r) = F F
 present (i), present (r) = T F
 present (i), present (r) = F F  ! right but for the wrong reason...
 present (i), present (r) = F F  ! should be F T

With 13-mainline + patch under review for pr107441(v2) I get:

 present (i), present (r) = F F
 present (i), present (r) = T F
 present (i), present (r) = F T  ! should be F F
 present (i), present (r) = F T  ! right but for the wrong reason...

So not a regression... ;-)

Reply via email to