This is the mail archive of the
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" <email@example.com> writes:
| CVS gcc4.0 no longer seems to accept the expression in
| # define _SC_GR0_OFFSET \
| (((char *) &((struct sigcontext *) 0)->sc_gr) - (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