diff options
author | Tobias Burnus <tobias@codesourcery.com> | 2021-10-19 15:16:01 +0200 |
---|---|---|
committer | Tobias Burnus <tobias@codesourcery.com> | 2021-10-19 15:16:01 +0200 |
commit | 6920d5a1a2834e9c62d441b8f4c6186b01107d13 (patch) | |
tree | bda31ae2b56a9fa2b92e111596c2380eeee54c35 /gcc/fortran/trans-expr.c | |
parent | e3ef92e79f9f1c4275a9e19652439089a310627d (diff) | |
download | gcc-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.c | 2 |
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, |