aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-expr.c
diff options
context:
space:
mode:
authorTobias Burnus <tobias@codesourcery.com>2021-10-19 15:16:01 +0200
committerTobias Burnus <tobias@codesourcery.com>2021-10-19 15:16:01 +0200
commit6920d5a1a2834e9c62d441b8f4c6186b01107d13 (patch)
treebda31ae2b56a9fa2b92e111596c2380eeee54c35 /gcc/fortran/trans-expr.c
parente3ef92e79f9f1c4275a9e19652439089a310627d (diff)
downloadgcc-6920d5a1a2834e9c62d441b8f4c6186b01107d13.zip
gcc-6920d5a1a2834e9c62d441b8f4c6186b01107d13.tar.gz
gcc-6920d5a1a2834e9c62d441b8f4c6186b01107d13.tar.bz2
Fortran: Fix "str" to scalar descriptor conversion [PR92482]
PR fortran/92482 gcc/fortran/ChangeLog: * trans-expr.c (gfc_conv_procedure_call): Use TREE_OPERAND not build_fold_indirect_ref_loc to undo an ADDR_EXPR. gcc/testsuite/ChangeLog: * gfortran.dg/bind-c-char-descr.f90: Remove xfail; extend a bit.
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 0138937..29697e6 100644
--- a/gcc/fortran/trans-expr.c
+++ b/gcc/fortran/trans-expr.c
@@ -6640,7 +6640,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
{
tmp = parmse.expr;
if (TREE_CODE (tmp) == ADDR_EXPR)
- tmp = build_fold_indirect_ref_loc (input_location, tmp);
+ tmp = TREE_OPERAND (tmp, 0);
parmse.expr = gfc_conv_scalar_to_descriptor (&parmse, tmp,
fsym->attr);
parmse.expr = gfc_build_addr_expr (NULL_TREE,