------- Comment #10 from jvdelisle at gcc dot gnu dot org 2008-01-04 05:00 ------- Notice in the tree dump that dimmy is already a pointer type when passed into the subroutine.
Can you try this patch and see if it works and also send me the fdump tree original? Index: trans-expr.c =================================================================== --- trans-expr.c (revision 131316) +++ trans-expr.c (working copy) @@ -156,13 +156,12 @@ gfc_conv_missing_dummy (gfc_se * se, gfc tmp = build3 (COND_EXPR, TREE_TYPE (se->expr), present, se->expr, fold_convert (TREE_TYPE (se->expr), integer_zero_node)); - tmp = gfc_evaluate_now (tmp, &se->pre); if (kind > 0) { tmp = gfc_get_int_type (kind); + tmp = build_pointer_type (tmp); tmp = fold_convert (tmp, se->expr); - tmp = gfc_evaluate_now (tmp, &se->pre); } se->expr = tmp; -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34387