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