pa.h (BIGGEST_ALIGNMENT): Adjust comment.
authorJohn David Anglin <danglin@gcc.gnu.org>
Sun, 9 Oct 2016 17:02:21 +0000 (17:02 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Sun, 9 Oct 2016 17:02:21 +0000 (17:02 +0000)
* config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
(MALLOC_ABI_ALIGNMENT): Define.

From-SVN: r240901

gcc/ChangeLog
gcc/config/pa/pa.h

index efa0b76539eab281581f2c6bb914524e5e0d70e1..a6ef0f414fb3da3fa8c94123d98ebe7070f692a8 100644 (file)
@@ -1,3 +1,8 @@
+2016-10-09  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
+       (MALLOC_ABI_ALIGNMENT): Define.
+
 2016-10-09  Jakub Jelinek  <jakub@redhat.com>
 
        * tree-ssa.c (target_for_debug_bind, verify_phi_args,
index 3efcc3a9975003a59ca48b9fecb5c9b3c50e8bfe..f0aa1ae68c60d06763ef88a5304b4effa2ac1f3b 100644 (file)
@@ -292,9 +292,21 @@ typedef struct GTY(()) machine_function
 /* A bit-field declared as `int' forces `int' alignment for the struct.  */
 #define PCC_BITFIELD_TYPE_MATTERS 1
 
-/* No data type wants to be aligned rounder than this.  */
+/* No data type wants to be aligned rounder than this.  The long double
+   type has 16-byte alignment on the 64-bit target even though it was never
+   implemented in hardware.  The software implementation only needs 8-byte
+   alignment.  This is to match the HP compilers.  */
 #define BIGGEST_ALIGNMENT (2 * BITS_PER_WORD)
 
+/* Alignment, in bits, a C conformant malloc implementation has to provide.
+   The HP-UX malloc implementation provides a default alignment of 8 bytes.
+   This can be increased with mallopt.  The glibc implementation also provides
+   8-byte alignment.  Note that this isn't enough for various POSIX types such
+   as pthread_mutex_t.  However, since we no longer need the 16-byte alignment
+   for atomic operations, we ignore the nominal alignment specified for these
+   types.  The same is true for long double on 64-bit HP-UX.  */
+#define MALLOC_ABI_ALIGNMENT (64)
+
 /* Get around hp-ux assembler bug, and make strcpy of constants fast.  */
 #define CONSTANT_ALIGNMENT(EXP, ALIGN)         \
   (TREE_CODE (EXP) == STRING_CST               \