https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118884
--- Comment #5 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> --- Not disagreeing, however: Warning: Type mismatch at (1) passing global function ‘cslect’ declared at (2) (UNKNOWN/LOGICAL(4)) cget24.f-pp.f:545:32: 237 | IF( CSLECT( W( I ) ) ) | 2 ...... 545 | CALL CGEESX( 'N', 'S', CSLECT, 'B', N, HT, LDA, SDIM1, WT, VS1, | 1 The mismatch is at the argument to CGEESX which is an external subroutine. The only thing the compiler knows is that it is EXTERNAL and it's argument types are UNKNOWN. NOTE: Ignore the specifics of the line numbers, I chopped out some of the comments at the top of the file. If I put all the comments back in it looks like this: $ gfc -c -std=legacy cget24.f-pp.f /var/tmp/portage/sci-libs/lapack-3.12.0-r1/work/lapack-3.12.0/TESTING/EIG/cget24.f:591:33: ...... Warning: Type mismatch at (1) passing global function ‘cslect’ declared at (2) (UNKNOWN/LOGICAL(4)) /var/tmp/portage/sci-libs/lapack-3.12.0-r1/work/lapack-3.12.0/TESTING/EIG/cget24.f:626:33: The specific location of the problem does not show.