diff options
author | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-20 14:17:39 +0000 |
---|---|---|
committer | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-20 14:17:39 +0000 |
commit | 34399e1acc3b0818830254a7ea8f6676b71a9051 (patch) | |
tree | d83bea008f3292c8941443cff196c20fd0023ab4 /gcc/stor-layout.c | |
parent | 81f0a5aa36ace9fa9c6b7755182c3877bc370a10 (diff) | |
download | gcc-34399e1acc3b0818830254a7ea8f6676b71a9051.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86320 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/stor-layout.c')
-rw-r--r-- | gcc/stor-layout.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 156702f652f..19de9b6d0a4 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -1863,12 +1863,12 @@ initialize_sizetypes (void) TYPE_MODE (t) = SImode; TYPE_ALIGN (t) = GET_MODE_ALIGNMENT (SImode); TYPE_USER_ALIGN (t) = 0; + TYPE_IS_SIZETYPE (t) = 1; TYPE_SIZE (t) = build_int_cst (t, GET_MODE_BITSIZE (SImode), 0); TYPE_SIZE_UNIT (t) = build_int_cst (t, GET_MODE_SIZE (SImode), 0); TYPE_UNSIGNED (t) = 1; TYPE_PRECISION (t) = GET_MODE_BITSIZE (SImode); TYPE_MIN_VALUE (t) = build_int_cst (t, 0, 0); - TYPE_IS_SIZETYPE (t) = 1; /* 1000 avoids problems with possible overflow and is certainly larger than any size value we'd want to be storing. */ @@ -1878,6 +1878,8 @@ initialize_sizetypes (void) size_int_wide. */ sizetype = t; bitsizetype = copy_node (t); + TYPE_CACHED_VALUES (bitsizetype) = NULL_TREE; + TYPE_CACHED_VALUES_P (bitsizetype) = 0; } /* Set sizetype to TYPE, and initialize *sizetype accordingly. |