aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikael Morin <morin-mikael@orange.fr>2025-08-05 14:58:00 +0200
committerMikael Morin <mikael@gcc.gnu.org>2025-08-05 22:35:07 +0200
commitacb0fa251abf55bfdd50e90b2c97ab084204ca6c (patch)
tree73dbd93e4131b754fac42530b102625b6a43f5a3
parent914b7296ebe4940abc23be419a946e491402ed67 (diff)
downloadgcc-acb0fa251abf55bfdd50e90b2c97ab084204ca6c.zip
gcc-acb0fa251abf55bfdd50e90b2c97ab084204ca6c.tar.gz
gcc-acb0fa251abf55bfdd50e90b2c97ab084204ca6c.tar.bz2
fortran: Remove default initialization of local pointers's span
A pointer has no default initialization; it is invalid to use it before it is associated to a target. We can just as well leave its span field uninitialized, and wait for the first pointer association to define a span value. The value of zero was an invalid span value anyway. gcc/fortran/ChangeLog: * trans-decl.cc (gfc_trans_deferred_vars): Don't default initialize the span of local pointer arrays.
-rw-r--r--gcc/fortran/trans-decl.cc14
1 files changed, 0 insertions, 14 deletions
diff --git a/gcc/fortran/trans-decl.cc b/gcc/fortran/trans-decl.cc
index b495f43..8992dbc 100644
--- a/gcc/fortran/trans-decl.cc
+++ b/gcc/fortran/trans-decl.cc
@@ -4936,20 +4936,6 @@ gfc_trans_deferred_vars (gfc_symbol * proc_sym, gfc_wrapped_block * block)
}
}
- if (sym->attr.pointer && sym->attr.dimension
- && sym->attr.save == SAVE_NONE
- && !sym->attr.use_assoc
- && !sym->attr.host_assoc
- && !sym->attr.dummy
- && GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (sym->backend_decl)))
- {
- gfc_init_block (&tmpblock);
- gfc_conv_descriptor_span_set (&tmpblock, sym->backend_decl,
- build_int_cst (gfc_array_index_type, 0));
- gfc_add_init_cleanup (block, gfc_finish_block (&tmpblock),
- NULL_TREE);
- }
-
if (sym->ts.type == BT_CLASS
&& (sym->attr.save || flag_max_stack_var_size == 0)
&& CLASS_DATA (sym)->attr.allocatable)