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


On Sat, 24 Nov 2001, Zack Weinberg wrote:

> It is genuinely useful to be able to treat the operands of any expression
> with the same logic, which argues for e.g. leaving declarations as part of
> the tree union (but then, it does the same for constants...)

With (declarations, expressions, constants, ...) separated, one of the
types of expression would be a thin wrapper around a declaration to refer
to that declaration (where at present we just put the decl in the
expression).  One of the types would be a thin wrapper around a constant,
that just adds a type (and maybe flags - such as whether the constant,
which may have arisen by folding, is actually a constant expression within
the meaning of the language standard) to the constant; the constant itself
would be one of (fixed-width representation with sign, GCC-local
arbitrary-precision, GMP) and could be used in RTL as well.  (Actually,
there might be separate types of expression to wrap integer constants and
to wrap floating-point constants.)

-- 
Joseph S. Myers
jsm28@cam.ac.uk


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