From 2218abf82f3820e24420e1af7155e5b69a3f4b12 Mon Sep 17 00:00:00 2001
From: amodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue, 18 Sep 2001 13:39:40 +0000
Subject: [PATCH] 	* objalloc.h (OBJALLOC_ALIGN): Define using offsetof.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45677 138bc75d-0d04-0410-961f-82ee72b054a4
---
 include/ChangeLog  |  4 ++++
 include/objalloc.h | 11 +++++------
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/include/ChangeLog b/include/ChangeLog
index a20b8b82e5c5..2a69d82cd689 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2001-09-18  Alan Modra  <amodra@bigpond.net.au>
+
+	* objalloc.h (OBJALLOC_ALIGN): Define using offsetof.
+
 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
 	* libiberty.h (concat_length, concat_copy, concat_copy2,
diff --git a/include/objalloc.h b/include/objalloc.h
index 0b451cdc2959..c7106478dca4 100644
--- a/include/objalloc.h
+++ b/include/objalloc.h
@@ -1,5 +1,5 @@
 /* objalloc.h -- routines to allocate memory for objects
-   Copyright 1997 Free Software Foundation, Inc.
+   Copyright 1997, 2001 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Solutions.
 
 This program is free software; you can redistribute it and/or modify it
@@ -56,12 +56,11 @@ struct objalloc_align { char x; double d; };
 #ifndef offsetof
 #include <stddef.h>
 #endif
-#define OBJALLOC_ALIGN \
-  ((ptrdiff_t) ((char *) &((struct objalloc_align *) 0)->d - (char *) 0))
-#else
-#define OBJALLOC_ALIGN \
-  ((long) ((char *) &((struct objalloc_align *) 0)->d - (char *) 0))
 #endif
+#ifndef offsetof
+#define offsetof(TYPE, MEMBER) ((unsigned long) &((TYPE *)0)->MEMBER)
+#endif
+#define OBJALLOC_ALIGN offsetof (struct objalloc_align, d)
 
 /* Create an objalloc structure.  Returns NULL if malloc fails.  */
 
-- 
GitLab