[gcc(refs/users/mikael/heads/refactor_descriptor_v03)] Ajout type NULL_INITIALISATION
Mikael Morin
mikael@gcc.gnu.org
Sat Mar 15 20:17:35 GMT 2025
https://gcc.gnu.org/g:890daad3215bacf6ee6874b21239600f2c4674ac
commit 890daad3215bacf6ee6874b21239600f2c4674ac
Author: Mikael Morin <mikael@gcc.gnu.org>
Date: Sat Mar 15 21:17:05 2025 +0100
Ajout type NULL_INITIALISATION
Diff:
---
gcc/fortran/trans-descriptor.cc | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/gcc/fortran/trans-descriptor.cc b/gcc/fortran/trans-descriptor.cc
index 7230fe88905f..d83ae26a7af4 100644
--- a/gcc/fortran/trans-descriptor.cc
+++ b/gcc/fortran/trans-descriptor.cc
@@ -1026,7 +1026,6 @@ class nullification : public modify_info
class init_info : public modify_info
{
public:
- virtual tree get_data_value () const { return NULL_TREE; }
virtual bool is_initialization () const { return true; }
virtual gfc_typespec *get_type () const { return nullptr; }
virtual bt get_type_type (const gfc_typespec &) const;
@@ -1042,16 +1041,9 @@ class default_init : public init_info
{
private:
const symbol_attribute &attr;
- bool initialize_data () const { return !attr.pointer || (gfc_option.rtcheck & GFC_RTCHECK_POINTER); }
public:
default_init (const symbol_attribute &arg_attr) : attr(arg_attr) { }
- virtual tree get_data_value () const {
- if (!initialize_data ())
- return NULL_TREE;
-
- return null_pointer_node;
- }
};
class null_init : public init_info
@@ -1061,7 +1053,6 @@ private:
public:
null_init(gfc_typespec &arg_ts) : ts(arg_ts) { }
- virtual tree get_data_value () const { return null_pointer_node; }
virtual gfc_typespec *get_type () const { return &ts; }
};
@@ -1091,6 +1082,7 @@ enum descr_change_type {
EXPLICIT_NULLIFICATION,
INITIALISATION,
DEFAULT_INITIALISATION,
+ NULL_INITIALISATION,
SCALAR_VALUE
};
@@ -1156,10 +1148,11 @@ get_descr_data_value (const descr_change_info &info)
return NULL_TREE;
case EXPLICIT_NULLIFICATION:
+ case NULL_INITIALISATION:
return null_pointer_node;
case INITIALISATION:
- return info.u.initialization_info->get_data_value ();
+ return NULL_TREE;
case DEFAULT_INITIALISATION:
if (!info.u.default_init.attr->pointer
@@ -1192,6 +1185,7 @@ get_descr_span (const descr_change_info &info)
case EXPLICIT_NULLIFICATION:
case INITIALISATION:
case DEFAULT_INITIALISATION:
+ case NULL_INITIALISATION:
return NULL_TREE;
case SCALAR_VALUE:
@@ -1216,6 +1210,7 @@ get_descr_caf_token (const descr_change_info &info)
case EXPLICIT_NULLIFICATION:
case INITIALISATION:
case DEFAULT_INITIALISATION:
+ case NULL_INITIALISATION:
return null_pointer_node;
case SCALAR_VALUE:
More information about the Gcc-cvs
mailing list