+2008-01-26 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/34848
+ * trans-expr.c (gfc_conv_function_call): Don't call
+ gfc_add_interface_mapping if the expression is NULL.
+
2008-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/31610
}
}
- if (fsym && need_interface_mapping)
+ if (fsym && need_interface_mapping && e)
gfc_add_interface_mapping (&mapping, fsym, &parmse, e);
gfc_add_block_to_block (&se->pre, &parmse.pre);
+2008-01-26 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/34848
+ * gfortran.dg/missing_optional_dummy_5.f90: New.
+
2008-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.dg/tree-ssa/20070302-1.c (baz): Mark with attribute
--- /dev/null
+! { dg-do compile }
+! { dg-options "-fdump-tree-original" }
+!
+! PR fortran/34848
+!
+! This was before giving an ICE; additionally
+! the "0" for the string size of the absent optional
+! argument was missing.
+!
+module krmod
+contains
+ subroutine doit()
+ implicit none
+ real :: doit1(2)
+ doit1 = tm_doit()
+ return
+ end subroutine doit
+ function tm_doit(genloc)
+ implicit none
+ character, optional :: genloc
+ real :: tm_doit(2)
+ tm_doit = 42.0
+ end function tm_doit
+end module krmod
+
+! { dg-final { scan-tree-dump " tm_doit \\(&parm.7, 0B, 0\\);" "original" } }
+! { dg-final { cleanup-tree-dump "original" } }
+! { dg-final { cleanup-modules "pr22146" } }
+