http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55618
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P4 Target Milestone|--- |4.6.4 --- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-12-10 11:43:34 UTC --- In trans-expr.c's gfc_conv_procedure_call, one calls: 3997 else if (se->ss && se->ss->info->useflags) 3998 { ... 4007 if (ss->dimen > 0 && e->expr_type == EXPR_VARIABLE 4008 && ss->info->data.array.ref == NULL) ... 4016 else 4017 gfc_conv_expr_reference (&parmse, e); * * * Even shorter example. Note the VALUE attribute (cf. PR55638 for the wrong "INTENT(IN)"): integer :: A(3) call foo(a, f()) print *, a contains elemental subroutine foo(x,y) integer, intent(inout) :: x integer, VALUE, intent(in) :: y x = y end subroutine foo function f() integer :: f f = 42 end function f end