Recently I discovered, that gfortran FE creates invalid decl trees for exteranl intrinsics: only return value is added to arg chain, and none of the actual arguments. This can potentially break much stuff, because of inconsistency of CALL_EXPR and corresponding fndecl.
This was due to the following TODO in gfc_get_symbol_for_expr(): /* TODO: proper argument lists for external intrinsics. */ -- Summary: Invalid decl trees are created for external intrinsics Product: gcc Version: 4.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: asl at math dot spbu dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33097