This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: constant expressions change? CVS build failure on IA64
- From: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- To: "Boehm, Hans" <hans dot boehm at hp dot com>
- Cc: "'gcc at gcc dot gnu dot org'" <gcc at gcc dot gnu dot org>, "'davidm at hpl dot hp dot com'" <davidm at hpl dot hp dot com>
- Date: 14 Sep 2004 00:05:14 +0200
- Subject: Re: constant expressions change? CVS build failure on IA64
- Organization: Integrable Solutions
- References: <B27561804CF1BE4F8943BB2CB29E18EA062D14@hplextmp.hpl.hp.com>
"Boehm, Hans" <hans.boehm@hp.com> writes:
Hi Hans,
| CVS gcc4.0 no longer seems to accept the expression in
|
| # define _SC_GR0_OFFSET \
| (((char *) &((struct sigcontext *) 0)->sc_gr[0]) - (char *) 0)
|
| in Linux/IA64 sys/ucontext.h as a constant. This eventually results
| in a gcc build failure. (A workaround is to change the header file to use
| the non-gcc definition.)
|
| Was this change intentional?
Yes, the idea is that those are not constant expressions in standard C
and one should be using offsetof in the first place.
It however will be tolerated again in 3.4.3 for a short period, if I
understand correctly.
-- Gaby