summaryrefslogtreecommitdiffstats
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2006-09-11 05:02:58 +0000
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>2006-09-11 05:02:58 +0000
commitcce7ac71758bee5efd270eb0f3d8051cd33aca01 (patch)
tree35baec3c4421884fed9311bf88cfb8e1f452b755 /gcc/fortran/resolve.c
parentdd4df4a5772939f22b62e3c5b39b93989882801d (diff)
downloadppe42-gcc-cce7ac71758bee5efd270eb0f3d8051cd33aca01.tar.gz
ppe42-gcc-cce7ac71758bee5efd270eb0f3d8051cd33aca01.zip
2006-09-11 Paul Thomas <pault@gcc.gnu.org>
PR fortran/28890 trans-expr.c (gfc_conv_function_call): Obtain the string length of a dummy character(*) function from the symbol if it is not already translated. For a call to a character(*) function, use the passed, hidden string length argument, which is available from the backend_decl of the formal argument. resolve.c (resolve_function): It is an error if a function call to a character(*) function is other than a dummy procedure or an intrinsic. 2006-09-11 Paul Thomas <pault@gcc.gnu.org> PR libfortran/28890 gfortran.dg/assumed_charlen_function_5.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116839 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index b62a0411e9d..c9475cceab8 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -1413,6 +1413,7 @@ resolve_function (gfc_expr * expr)
&& sym->ts.cl
&& sym->ts.cl->length == NULL
&& !sym->attr.dummy
+ && expr->value.function.esym == NULL
&& !sym->attr.contained)
{
/* Internal procedures are taken care of in resolve_contained_fntype. */
OpenPOWER on IntegriCloud