https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91963
Bug ID: 91963 Summary: Logical function does not simplify Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: tkoenig at gcc dot gnu.org Target Milestone: --- The following program module logmod use ISO_C_BINDING use ISO_FORTRAN_ENV implicit none private integer i integer, parameter, public :: minkind = LOGICAL_KINDS(minloc( & ! [(C_SIZEOF(LOGICAL(.FALSE.,LOGICAL_KINDS(i))), & [(SIZE(TRANSFER(LOGICAL(.FALSE.,LOGICAL_KINDS(i)),[0_INT8])), & i=1,size(LOGICAL_KINDS))],1)) end module logmod program start use logmod implicit none write(*,'(*(g0))') minkind end program start (due to James van Buskirk) does not compile: x.f90:9:38: 9 | [(SIZE(TRANSFER(LOGICAL(.FALSE.,LOGICAL_KINDS(i)),[0_INT8])), & | 1 Error: Invalid kind for LOGICAL at (1) x.f90:14:7: 14 | use logmod | 1 Fatal Error: Cannot open module file 'logmod.mod' for reading at (1): No such file or directory This would actually be useful to select the kind of the smallest LOGICAL in a portable fashion :-)