aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/init.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 646c6e3..4239604 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+Fri Nov 12 12:56:32 MST 1999 Diego Novillo <dnovillo@cygnus.com>
+
+ * init.c (init_init_processing): Re-instated Nov 11 patch after
+ approval.
+
Fri Nov 12 10:42:02 MST 1999 Diego Novillo <dnovillo@cygnus.com>
* init.c (init_init_processing): Undo patch from Nov 11, 1999.
diff --git a/gcc/cp/init.c b/gcc/cp/init.c
index 07c45f4..117c814 100644
--- a/gcc/cp/init.c
+++ b/gcc/cp/init.c
@@ -66,8 +66,12 @@ void init_init_processing ()
BI_header_type = make_lang_type (RECORD_TYPE);
nelts_identifier = get_identifier ("nelts");
fields[0] = build_lang_decl (FIELD_DECL, nelts_identifier, sizetype);
+
+ /* Use the biggest alignment supported by the target to prevent operator
+ new from returning misaligned pointers. */
+ TYPE_ALIGN (BI_header_type) = BIGGEST_ALIGNMENT;
finish_builtin_type (BI_header_type, "__new_cookie", fields,
- 0, double_type_node);
+ 0, BI_header_type);
BI_header_size = size_in_bytes (BI_header_type);
ggc_add_tree_root (&BI_header_type, 1);