summaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-intrinsic.c
diff options
context:
space:
mode:
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-25 20:26:42 +0000
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-25 20:26:42 +0000
commit00bc03091f6728f8ff559e28b6fef2bf8544d910 (patch)
treea15b037bed16a18aeac9a00c6147d44c259deb02 /gcc/fortran/trans-intrinsic.c
parent84d6e2ab5d1663228a327c25fc5279f6be91b64a (diff)
downloadgcc-00bc03091f6728f8ff559e28b6fef2bf8544d910.tar.gz
gcc/fortran/
2014-06-25 Tobias Burnus <burnus@net-b.de> * check.c (check_co_minmaxsum): Add definable check. * expr.c (gfc_check_vardef_context): Fix context == NULL case. * trans-expr.c (get_scalar_to_descriptor_type): Handle pointer arguments. * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Fix generation of temporary strings. gcc/testsuite/ 2014-06-25 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_collectives_7.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211992 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans-intrinsic.c')
-rw-r--r--gcc/fortran/trans-intrinsic.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c
index 548fd9fbc76..a0c74218e63 100644
--- a/gcc/fortran/trans-intrinsic.c
+++ b/gcc/fortran/trans-intrinsic.c
@@ -1258,7 +1258,8 @@ gfc_conv_intrinsic_caf_get (gfc_se *se, gfc_expr *expr, tree lhs, tree lhs_kind)
{
gfc_clear_attr (&attr);
if (array_expr->ts.type == BT_CHARACTER)
- res_var = gfc_conv_string_tmp (se, type, argse.string_length);
+ res_var = gfc_conv_string_tmp (se, build_pointer_type (type),
+ argse.string_length);
else
res_var = gfc_create_var (type, "caf_res");
dst_var = gfc_conv_scalar_to_descriptor (&argse, res_var, attr);