https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89240
Bug ID: 89240
Summary: Discrepancy in the return kind of MAX and MIN between
all literal input parameters and input parameters that
are variables
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: mark.eggleston at codethink dot com
Target Milestone: ---
Return kind differs when actual arguments are all literals and when they have
at least one variable.
integer(2) :: a2
integer(4) :: a4
write(*,*) kind(max(7, 9_1))
write(*,*) kind(max(7_2, 9))
write(*,*) kind(max(a2, a4))
write(*,*) kind(min(7_2, 9))
write(*,*) kind(min(a2, a4))
end
gives
4
2
4
2
4
So there is discrepancy between literal arguments and variables for MAX and
MIN.