aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-expr.c
diff options
context:
space:
mode:
authorTobias Schlüter <tobi@gcc.gnu.org>2004-06-04 00:35:41 +0200
committerTobias Schlüter <tobi@gcc.gnu.org>2004-06-04 00:35:41 +0200
commit1600fe22b9c077d311efd4c677b80d2fa0efb17e (patch)
tree1c845ff438eb6e41b7432a288e671baf85346e7a /gcc/fortran/trans-expr.c
parented5947c9bcae4c500c8e96f2809b4df527234804 (diff)
downloadgcc-1600fe22b9c077d311efd4c677b80d2fa0efb17e.zip
gcc-1600fe22b9c077d311efd4c677b80d2fa0efb17e.tar.gz
gcc-1600fe22b9c077d311efd4c677b80d2fa0efb17e.tar.bz2
gfortran.h (gfc_actual_arglist): New field missing_arg_type.
fortran/ * gfortran.h (gfc_actual_arglist): New field missing_arg_type. * interface.c (compare_actual_formal): Keep type of omitted optional arguments. * trans-expr.c (gfc_conv_function_call): Add string length argument for omitted string argument. testsuite/ * gfortran.fortran-torture/execute/optstring_1.f90: New testcase. From-SVN: r82608
Diffstat (limited to 'gcc/fortran/trans-expr.c')
-rw-r--r--gcc/fortran/trans-expr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c
index a1a8d46..dda08bb 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -1077,7 +1077,7 @@ gfc_conv_function_call (gfc_se * se, gfc_symbol * sym,
/* Pass a NULL pointer for an absent arg. */
gfc_init_se (&parmse, NULL);
parmse.expr = null_pointer_node;
- if (formal && formal->sym->ts.type == BT_CHARACTER)
+ if (arg->missing_arg_type == BT_CHARACTER)
{
stringargs = gfc_chainon_list (stringargs,
convert (gfc_strlen_type_node, integer_zero_node));