diff options
-rw-r--r-- | lib/ChangeLog | 6 | ||||
-rw-r--r-- | lib/allocsa.h | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog index 3cbbf933a5..e4c72a4ed8 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,9 @@ +2006-08-07 Bruno Haible <bruno@clisp.org> + + * allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer + versions of AIX. + Reported by Ralf Wildenhues. + 2006-08-06 Eric Blake <ebb9@byu.net> * error.h: Fold in some upstream changes from glibc. diff --git a/lib/allocsa.h b/lib/allocsa.h index 36379aad5a..f8c0bc0bd7 100644 --- a/lib/allocsa.h +++ b/lib/allocsa.h @@ -1,5 +1,5 @@ /* Safe automatic memory allocation. - Copyright (C) 2003-2005 Free Software Foundation, Inc. + Copyright (C) 2003-2006 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2003. This program is free software; you can redistribute it and/or modify @@ -95,7 +95,7 @@ extern void freesa (void *p); #elif defined _AIX /* Work around an AIX 3.2.5 xlc bug with enums constants defined as offsetof values. */ -# define sa_alignof(type) 4 +# define sa_alignof(type) (sizeof (type) <= 4 ? 4 : 8) #else # define sa_alignof(type) offsetof (struct { char __slot1; type __slot2; }, __slot2) #endif |