This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [c++] don't expand &a.b to pointer arithmetic
- From: Andreas Schwab <schwab at suse dot de>
- To: Richard Henderson <rth at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 31 Aug 2004 17:13:00 +0200
- Subject: Re: [c++] don't expand &a.b to pointer arithmetic
- References: <20040830190717.GA2208@redhat.com>
Richard Henderson <rth@redhat.com> writes:
> * class.c (build_base_path): Use build_address directly.
> * typeck.c (build_unary_op): Don't lower &a.b to pointer
> arithmetic directly.
> * typeck2.c (store_init_value): Don't assume !TREE_CONSTANT
> means !initializer_constant_valid_p.
This causes this expression
# define _SC_GR0_OFFSET \
(((char *) &((struct sigcontext *) 0)->sc_gr[0]) - (char *) 0)
to no longer being an integral constant expression, which breaks building
the java library on ia64-linux.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."