This is the mail archive of the
mailing list for the GCC project.
Semantics of CONSTRUCTOR tree nodes
- From: "Joseph S. Myers" <jsm28 at cam dot ac dot uk>
- To: <gcc at gcc dot gnu dot org>
- Date: Mon, 26 Nov 2001 23:17:52 +0000 (GMT)
- Subject: Semantics of CONSTRUCTOR tree nodes
What are the exact semantics of CONSTRUCTOR tree nodes meant to be? I
think that they are not meant to be the same as C99 compound literals -
and so compound literals ought to use a new tree node which wraps around a
CONSTRUCTOR and provides the appropriately initialised object (an
anonymous VAR_DECL initialised by the CONSTRUCTOR, probably) with
appropriate storage duration required by C99, but some questions about the
1. Is it intended that multiple CONSTRUCTORs with identical contents can
share the same memory?
2. Is it undefined behavior if the memory occupied by a CONSTRUCTOR gets
modified at runtime?
3. What is the storage duration of memory occupied by a CONSTRUCTOR?
4. What is the right way to allow a const-qualified compound literal with
constant contents to share memory with other such compound literals or
strings? (Whereas user variables can't, these const-qualified compound
For compound literals, 1) memory can only be shared if they are
const-qualified; 2) they can be modified (if not const-qualified); 3) the
storage duration is that associated with the enclosing block.
Joseph S. Myers