https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91473
--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> --- In case of wrf, there are INTEGER :: Field(*) INTEGER :: FieldType ... ELSE IF ( FieldType .EQ. WRF_INTEGER ) THEN CALL call_pkg_and_dist_int ( fcn, & Hndl , DateStr , VarName , Field , FieldType , Comm , IOComm , & DomainDesc , MemoryOrder , Stagger , DimNames , & DomainStart , DomainEnd , & MemoryStart , MemoryEnd , & PatchStart , PatchEnd , & Status ) call_pkg_and_dist_int has REAL , INTENT(INOUT) :: Field(*) INTEGER ,INTENT(IN) :: FieldType Field is used as some kind of generic pointer.