diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2004-10-18 18:26:18 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2004-10-18 18:26:18 +0400 |
commit | 52fa622ab6423e3d2b7eff94d9b3e7610b0fa26b (patch) | |
tree | 160a9d4d78cf5fc21e3b2142ae74a44f30ba47bc | |
parent | eedf24742c9c261a49f9ffdb7a2bc28ff5992fc2 (diff) |
* sysv_sem.cc: Redefine offsetof to circumvent build problems with
gcc 3.4.
-rw-r--r-- | winsup/cygserver/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygserver/sysv_sem.cc | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/winsup/cygserver/ChangeLog b/winsup/cygserver/ChangeLog index 225a1ebd0..157b093b2 100644 --- a/winsup/cygserver/ChangeLog +++ b/winsup/cygserver/ChangeLog @@ -1,3 +1,8 @@ +2004-10-18 Corinna Vinschen <corinna@vinschen.de> + + * sysv_sem.cc: Redefine offsetof to circumvent build problems with + gcc 3.4. + 2004-10-04 Corinna Vinschen <corinna@vinschen.de> * bsd_mutex.cc (_msleep): Simplify event creation. Revert change from 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. |