diff options
Diffstat (limited to 'gcc/fortran/trans-expr.c')
-rw-r--r-- | gcc/fortran/trans-expr.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c index 7d233d5..bbda894 100644 --- a/gcc/fortran/trans-expr.c +++ b/gcc/fortran/trans-expr.c @@ -232,7 +232,7 @@ gfc_conv_substring (gfc_se * se, gfc_ref * ref, int kind) if (TYPE_STRING_FLAG (TREE_TYPE (se->expr))) tmp = se->expr; else - tmp = gfc_build_indirect_ref (se->expr); + tmp = build_fold_indirect_ref (se->expr); tmp = gfc_build_array_ref (tmp, start.expr); se->expr = gfc_build_addr_expr (type, tmp); } @@ -284,7 +284,7 @@ gfc_conv_component_ref (gfc_se * se, gfc_ref * ref) } if (c->pointer && c->dimension == 0 && c->ts.type != BT_CHARACTER) - se->expr = gfc_build_indirect_ref (se->expr); + se->expr = build_fold_indirect_ref (se->expr); } @@ -372,19 +372,19 @@ gfc_conv_variable (gfc_se * se, gfc_expr * expr) && (sym->attr.dummy || sym->attr.function || sym->attr.result)) - se->expr = gfc_build_indirect_ref (se->expr); + se->expr = build_fold_indirect_ref (se->expr); } else { /* Dereference non-character scalar dummy arguments. */ if (sym->attr.dummy && !sym->attr.dimension) - se->expr = gfc_build_indirect_ref (se->expr); + se->expr = build_fold_indirect_ref (se->expr); /* Dereference scalar hidden result. */ if (gfc_option.flag_f2c && sym->ts.type == BT_COMPLEX && (sym->attr.function || sym->attr.result) && !sym->attr.dimension && !sym->attr.pointer) - se->expr = gfc_build_indirect_ref (se->expr); + se->expr = build_fold_indirect_ref (se->expr); /* Dereference non-character pointer variables. These must be dummies, results, or scalars. */ @@ -393,7 +393,7 @@ gfc_conv_variable (gfc_se * se, gfc_expr * expr) || sym->attr.function || sym->attr.result || !sym->attr.dimension)) - se->expr = gfc_build_indirect_ref (se->expr); + se->expr = build_fold_indirect_ref (se->expr); } ref = expr->ref; @@ -1291,12 +1291,12 @@ gfc_add_interface_mapping (gfc_interface_mapping * mapping, value = fold_convert (tmp, se->expr); if (sym->attr.pointer) - value = gfc_build_indirect_ref (value); + value = build_fold_indirect_ref (value); } /* If the argument is a scalar or a pointer to an array, dereference it. */ else if (!sym->attr.dimension || sym->attr.pointer) - value = gfc_build_indirect_ref (se->expr); + value = build_fold_indirect_ref (se->expr); /* If the argument is an array descriptor, use it to determine information about the actual argument's shape. */ @@ -1304,7 +1304,7 @@ gfc_add_interface_mapping (gfc_interface_mapping * mapping, && GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (TREE_TYPE (se->expr)))) { /* Get the actual argument's descriptor. */ - desc = gfc_build_indirect_ref (se->expr); + desc = build_fold_indirect_ref (se->expr); /* Create the replacement variable. */ tmp = gfc_conv_descriptor_data_get (desc); @@ -1748,7 +1748,7 @@ gfc_conv_function_call (gfc_se * se, gfc_symbol * sym, x = f() where f is pointer valued, we have to dereference the result. */ if (!se->want_pointer && !byref && sym->attr.pointer) - se->expr = gfc_build_indirect_ref (se->expr); + se->expr = build_fold_indirect_ref (se->expr); /* f2c calling conventions require a scalar default real function to return a double precision result. Convert this back to default @@ -1793,7 +1793,7 @@ gfc_conv_function_call (gfc_se * se, gfc_symbol * sym, { /* Dereference for character pointer results. */ if (sym->attr.pointer || sym->attr.allocatable) - se->expr = gfc_build_indirect_ref (var); + se->expr = build_fold_indirect_ref (var); else se->expr = var; @@ -1802,7 +1802,7 @@ gfc_conv_function_call (gfc_se * se, gfc_symbol * sym, else { gcc_assert (sym->ts.type == BT_COMPLEX && gfc_option.flag_f2c); - se->expr = gfc_build_indirect_ref (var); + se->expr = build_fold_indirect_ref (var); } } } |