This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]