summaryrefslogtreecommitdiff
path: root/gcc/tree.def
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-05-17 07:21:14 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-05-17 07:21:14 +0000
commitc3bac92ce353175a17a5625cde16963715117567 (patch)
treee01f710619fe0f4e9123c5986f05d48fcbd7570a /gcc/tree.def
parent4818dc3c9883db1c1f87f3dbf947e54a1f5ec0bb (diff)
downloadgcc-c3bac92ce353175a17a5625cde16963715117567.tar.gz
* tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match
reality. * expr.c (init_noncopied_parts): Don't generate initializers for parts that don't need them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26969 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.def')
-rw-r--r--gcc/tree.def10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/tree.def b/gcc/tree.def
index 64fe0e4c89b..2056c629fbb 100644
--- a/gcc/tree.def
+++ b/gcc/tree.def
@@ -98,8 +98,14 @@ DEFTREECODE (BLOCK, "block", 'b', 0)
points to the start of the chain.
The TYPE_NONCOPIED_PARTS field is a list specifying which parts
of an object of this type should *not* be copied by assignment.
- The TREE_PURPOSE of each element is the offset of the part
- and the TREE_VALUE is the size in bits of the part.
+ The TREE_VALUE of each is a FIELD_DECL that should not be
+ copied. The TREE_PURPOSE is an initial value for that field when
+ an object of this type is initialized via an INIT_EXPR. It may
+ be NULL if no special value is required. Even the things in this
+ list are copied if the right-hand side of an assignment is known
+ to be a complete object (rather than being, perhaps, a subobject
+ of some other object.) The determination of what constitutes a
+ complete object is done by fixed_type_p.
The TYPE_NAME field contains info on the name used in the program
for this type (for GDB symbol table output). It is either a
TYPE_DECL node, for types that are typedefs, or an IDENTIFIER_NODE