This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: ICE in change_address at emit_rtl.c
Zack Weinberg wrote:-
> So my plan is to make identifiers not be trees anymore, at all; hash
> table entries point to (or contain) just the struct lang_identifier.
> Language independent code that sets flag bits in IDENTIFIER_NODEs is
> either nuked, or changed to use lookaside tables. Language dependent
> code that does that can put its flags in lang_identifier, or else in
> the appropriate DECL node.
Sounds good, I look forward to it 8-) What do you intend to do about
all the code that does expect them to appear in tree slots? It sounds
like a lot of work.
> Also, think about padding. struct { char; tree; } is no smaller than
> struct { short; tree; } on any modern host.
? That's why I want e.g.
struct tree_decl
{
tree chain; // Maybe struct tree_decl chain;
enum code; // Single byte
[...] // Decl-specific stuff
};
and there is minimal padding, assuming the tree is laid out
intelligently so other char-ish things like flags come straight after
"code", like now.
Neil.