diff options
author | Mark Mitchell <mark@codesourcery.com> | 1999-05-17 07:21:14 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 1999-05-17 07:21:14 +0000 |
commit | c15398de775ea6bb100d761e7ebad03d2daec8a4 (patch) | |
tree | e01f710619fe0f4e9123c5986f05d48fcbd7570a /gcc/tree.def | |
parent | 74a6cc9fb5958f074feacb569b6046abd9825241 (diff) | |
download | gcc-c15398de775ea6bb100d761e7ebad03d2daec8a4.zip gcc-c15398de775ea6bb100d761e7ebad03d2daec8a4.tar.gz gcc-c15398de775ea6bb100d761e7ebad03d2daec8a4.tar.bz2 |
tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match reality.
* 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.
From-SVN: r26969
Diffstat (limited to 'gcc/tree.def')
-rw-r--r-- | gcc/tree.def | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/tree.def b/gcc/tree.def index 64fe0e4..2056c62 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 |