https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96212
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to Bill Seurer from comment #1) > After running on a few more machines this appears to be a BE only issue. alloc-1.F90 uses a proper interface (Fortran module). alloc-3.F uses a header file with the old-style Fortran 66/77 way of just having external subroutine_name or external function_name integer function_name ! <- data type the function returns. Thus, by this declaration the compiler does not know how the interface actually looks like. In principle, it could (and should?!?) deduce the interface from the first procedure call – and create the declaration from the use. However, it doesn't do this. My bet is that the actually used argument-passing of caller and callee differs on PowerPC and, hence, it fails. Solution? * XFAIL? * Changing the way in gfortran how the external-function declaration is generated?