aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/expr.c2
-rw-r--r--gcc/tree.c2
3 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 25f5973..4bac913 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2000-10-26 Nathan Sidwell <nathan@codesourcery.com>
+
+ * tree.c (make_node, case 't'): Set alignment to that of
+ char_type_node.
+ * expr.c (move_by_pieces_ninsns): Abort if some length remains.
+
2000-10-25 Mark Mitchell <mark@codesourcery.com>
* Makefile.in (site.exp): Define HAVE_LIBSTDCXX_V3.
diff --git a/gcc/expr.c b/gcc/expr.c
index 06aebb6..d12f0a2 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -1536,6 +1536,8 @@ move_by_pieces_ninsns (l, align)
max_size = GET_MODE_SIZE (mode);
}
+ if (l)
+ abort ();
return n_insns;
}
diff --git a/gcc/tree.c b/gcc/tree.c
index 4bebf20..96407a2 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -438,7 +438,7 @@ make_node (code)
case 't':
TYPE_UID (t) = next_type_uid++;
- TYPE_ALIGN (t) = 1;
+ TYPE_ALIGN (t) = char_type_node ? TYPE_ALIGN (char_type_node) : 0;
TYPE_USER_ALIGN (t) = 0;
TYPE_MAIN_VARIANT (t) = t;
TYPE_ATTRIBUTES (t) = NULL_TREE;