aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@gcc.gnu.org>2004-08-20 14:17:39 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2004-08-20 14:17:39 +0000
commit3224beadb4cebe8137600efe3d13082f40076cc1 (patch)
treed83bea008f3292c8941443cff196c20fd0023ab4 /gcc/ada
parent346d5977dd043c0f83a7e68169a970bd4a4a1b31 (diff)
downloadgcc-3224beadb4cebe8137600efe3d13082f40076cc1.zip
gcc-3224beadb4cebe8137600efe3d13082f40076cc1.tar.gz
gcc-3224beadb4cebe8137600efe3d13082f40076cc1.tar.bz2
stor-layout.c (initialize_sizetypes): Set SIZETYPE earlier, clear cache on copied sizetype.
* stor-layout.c (initialize_sizetypes): Set SIZETYPE earlier, clear cache on copied sizetype. * ada/utils2.c (build_allocator): Use build_int_cst for negative size types. * cp/class.c (build_vtbl_initializer): Use build_int_cst for negative size types. * cp/decl.c (complete_array_type): Likewise. * cp/method.c (finish_thunk): Likewise. From-SVN: r86320
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/utils2.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 7bc0828..6ea3282 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2004-08-20 Nathan Sidwell <nathan@codesourcery.com>
+
+ * utils2.c (build_allocator): Use build_int_cst for negative
+ size types.
+
2004-08-18 Richard Henderson <rth@redhat.com>
* misc.c (LANG_HOOKS_HONOR_READONLY): Remove.
diff --git a/gcc/ada/utils2.c b/gcc/ada/utils2.c
index 726c9f2..60de87d 100644
--- a/gcc/ada/utils2.c
+++ b/gcc/ada/utils2.c
@@ -1799,7 +1799,7 @@ build_allocator (tree type, tree init, tree result_type, Entity_Id gnat_proc,
/* If the size overflows, pass -1 so the allocator will raise
storage error. */
if (TREE_CODE (size) == INTEGER_CST && TREE_OVERFLOW (size))
- size = ssize_int (-1);
+ size = build_int_cst (ssizetype, -1, -1);
storage = build_call_alloc_dealloc (NULL_TREE, size,
TYPE_ALIGN (storage_type),
@@ -1872,7 +1872,7 @@ build_allocator (tree type, tree init, tree result_type, Entity_Id gnat_proc,
/* If the size overflows, pass -1 so the allocator will raise
storage error. */
if (TREE_CODE (size) == INTEGER_CST && TREE_OVERFLOW (size))
- size = ssize_int (-1);
+ size = build_int_cst (ssizetype, -1, -1);
/* If this is a type whose alignment is larger than the
biggest we support in normal alignment and this is in