summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ChangeLog6
-rw-r--r--lib/allocsa.h4
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