------- Comment #2 from wilson at specifix dot com 2006-08-04 01:34 ------- Subject: Re: make of gcc-4.1.1 failed using icc v9.1.042 on ia64
pinskia at gcc dot gnu dot org wrote: > ------- Comment #1 from pinskia at gcc dot gnu dot org 2006-08-02 20:13 > ------- > If not, then what is the line 49 of the file /usr/include/sys/ucontext.h? Essentially, we are using offsetof to size an array. This would be a GCC extension that icc apparently does not support. Here is an out of context copy of the relevant lines #if defined __cplusplus && __GNUC_PREREQ (3, 5) # define _SC_GR0_OFFSET \ __builtin_offsetof (struct sigcontext, sc_gr[0]) #elif defined __GNUC__ # define _SC_GR0_OFFSET \ (((char *) &((struct sigcontext *) 0)->sc_gr[0]) - (char *) 0) #else # define _SC_GR0_OFFSET 0xc8 /* pray that this is correct... */ #endif typedef struct ucontext { union { mcontext_t _mc; struct { unsigned long _pad[_SC_GR0_OFFSET/8]; struct ucontext *_link; /* this should overlay sc_gr[0] */ } _uc; } _u; } ucontext_t; Since current gcc uses __builtin_offsetof for both C and C++, this header file could perhaps be changed to use that, assuming of course that icc accepts this new extension, which maybe it does not. This file is from glibc. If anything needs to be changed here, it is glibc, not gcc. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28577