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
- From: "Joseph S. Myers" <jsm28 at cam dot ac dot uk>
- To: Zack Weinberg <zack at codesourcery dot com>
- Cc: Neil Booth <neil at daikokuya dot demon dot co dot uk>, Gabriel Dos Reis <gdr at codesourcery dot com>, Mark Mitchell <mark at codesourcery dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Sun, 25 Nov 2001 01:31:33 +0000 (GMT)
- Subject: 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