From 52fa622ab6423e3d2b7eff94d9b3e7610b0fa26b Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 18 Oct 2004 14:26:18 +0000 Subject: * sysv_sem.cc: Redefine offsetof to circumvent build problems with gcc 3.4. --- winsup/cygserver/sysv_sem.cc | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'winsup/cygserver/sysv_sem.cc') diff --git a/winsup/cygserver/sysv_sem.cc b/winsup/cygserver/sysv_sem.cc index a4acf37f1..bcd0dc251 100644 --- a/winsup/cygserver/sysv_sem.cc +++ b/winsup/cygserver/sysv_sem.cc @@ -147,6 +147,15 @@ struct sem_undo { #define SEMAEM 16384 /* adjust on exit max value */ #endif +#ifdef __CYGWIN__ +/* gcc 3.4 defines a new offsetof which is different for C++. Since this + file is just a derived plain-C file, we need to revert to the plain-C + definition of offsetof. */ +#ifdef offsetof +#undef offsetof +#endif +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) +#endif /* __CYGWIN__ */ /* * Due to the way semaphore memory is allocated, we have to ensure that * SEMUSZ is properly aligned. -- cgit v1.2.3