diff options
author | Martin Sebor <msebor@redhat.com> | 2019-08-16 15:53:29 +0000 |
---|---|---|
committer | Martin Sebor <msebor@gcc.gnu.org> | 2019-08-16 09:53:29 -0600 |
commit | dc139eb184d5361147ac32c290a074a3bc28e29e (patch) | |
tree | 79e7570b244604134636a96de3c8d260e0e63538 | |
parent | edf2da1e8d16981beaa16a53b81a0f40f6fcb4a0 (diff) | |
download | gcc-dc139eb184d5361147ac32c290a074a3bc28e29e.zip gcc-dc139eb184d5361147ac32c290a074a3bc28e29e.tar.gz gcc-dc139eb184d5361147ac32c290a074a3bc28e29e.tar.bz2 |
tree.def (TYPE_SIZE): Clarify.
gcc/ChangeLog:
* tree.def (TYPE_SIZE): Clarify.
* tree.h (TYPE_SIZE, TYPE_SIZE_UNIT, DECL_SIZE): Add comments.
From-SVN: r274575
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree.def | 5 | ||||
-rw-r--r-- | gcc/tree.h | 5 |
3 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 772c4e9..b5badf3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-08-16 Martin Sebor <msebor@redhat.com> + + * tree.def (TYPE_SIZE): Clarify. + * tree.h (TYPE_SIZE, TYPE_SIZE_UNIT, DECL_SIZE): Add comments. + 2019-08-16 Bernd Edlinger <bernd.edlinger@hotmail.de> PR tree-optimization/91109 diff --git a/gcc/tree.def b/gcc/tree.def index 4a22d94..bfb486d 100644 --- a/gcc/tree.def +++ b/gcc/tree.def @@ -77,7 +77,10 @@ DEFTREECODE (BLOCK, "block", tcc_exceptional, 0) /* Each data type is represented by a tree node whose code is one of the following: */ /* Each node that represents a data type has a component TYPE_SIZE - containing a tree that is an expression for the size in bits. + that evaluates either to a tree that is a (potentially non-constant) + expression representing the type size in bits, or to a null pointer + when the size of the type is unknown (for example, for incomplete + types such as arrays of unspecified bound). The TYPE_MODE contains the machine mode for values of this type. The TYPE_POINTER_TO field contains a type for a pointer to this type, or zero if no such has been created yet. @@ -1952,7 +1952,10 @@ class auto_suppress_location_wrappers so they must be checked as well. */ #define TYPE_UID(NODE) (TYPE_CHECK (NODE)->type_common.uid) +/* Type size in bits as a tree expression. Need not be constant + and may be null. */ #define TYPE_SIZE(NODE) (TYPE_CHECK (NODE)->type_common.size) +/* Likewise, type size in bytes. */ #define TYPE_SIZE_UNIT(NODE) (TYPE_CHECK (NODE)->type_common.size_unit) #define TYPE_POINTER_TO(NODE) (TYPE_CHECK (NODE)->type_common.pointer_to) #define TYPE_REFERENCE_TO(NODE) (TYPE_CHECK (NODE)->type_common.reference_to) @@ -2480,7 +2483,7 @@ extern machine_mode vector_type_mode (const_tree); #define DECL_INITIAL(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.initial) /* Holds the size of the datum, in bits, as a tree expression. - Need not be constant. */ + Need not be constant and may be null. */ #define DECL_SIZE(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.size) /* Likewise for the size in bytes. */ #define DECL_SIZE_UNIT(NODE) (DECL_COMMON_CHECK (NODE)->decl_common.size_unit) |