diff options
Diffstat (limited to 'gcc/ada')
| -rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/ada/utils2.c | 4 |
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 |
