------- 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