summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2009-09-22 21:40:02 +0000
committerjsg <jsg@openbsd.org>2009-09-22 21:40:02 +0000
commit36909e647c1cb2fe3fca92ec4d8b46de0ea165f2 (patch)
tree3cc000f7655523cad51439042b7b839258179955
parentAdd PSU sensor. (diff)
downloadwireguard-openbsd-36909e647c1cb2fe3fca92ec4d8b46de0ea165f2.tar.xz
wireguard-openbsd-36909e647c1cb2fe3fca92ec4d8b46de0ea165f2.zip
Use __builtin_offsetof for offsetof definition on gcc >= 4
This is required as gcc grows ever more pedantic with old age and cavorts with standards bodies that like to create paradoxes. ok kettenis@ miod@ millert@ espie@
-rw-r--r--include/stddef.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/stddef.h b/include/stddef.h
index a2ec869e267..9eb1875eb04 100644
--- a/include/stddef.h
+++ b/include/stddef.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: stddef.h,v 1.9 2006/01/06 18:53:04 millert Exp $ */
+/* $OpenBSD: stddef.h,v 1.10 2009/09/22 21:40:02 jsg Exp $ */
/* $NetBSD: stddef.h,v 1.4 1994/10/26 00:56:26 cgd Exp $ */
/*-
@@ -72,6 +72,10 @@ typedef __mbstate_t mbstate_t;
#endif
#endif
+#if __GNUC_PREREQ__(4, 0)
+#define offsetof(type, member) __builtin_offsetof(type, member)
+#else
#define offsetof(type, member) ((size_t)(&((type *)0)->member))
+#endif
#endif /* _STDDEF_H_ */