diff options
author | Jeff Law <law@redhat.com> | 2004-03-01 12:18:01 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2004-03-01 12:18:01 -0700 |
commit | 9bf793f93534b672f460149e704869ac1d0f854d (patch) | |
tree | be50a4b46ffe2e6609446e59e988c1df925aa7d5 /gcc/cp/init.c | |
parent | c9e0ce371610049698e7af2a065ddea2ede63709 (diff) | |
download | gcc-9bf793f93534b672f460149e704869ac1d0f854d.zip gcc-9bf793f93534b672f460149e704869ac1d0f854d.tar.gz gcc-9bf793f93534b672f460149e704869ac1d0f854d.tar.bz2 |
fold-const.c (fold): An equality comparison of a non-weak object against zero has a known result.
* fold-const.c (fold): An equality comparison of a non-weak object
against zero has a known result. Similarly an equality comparison
of the address of two non-weak, unaliased symbols has a known result.
* ggc-page.c (struct page_entry): New field PREV.
(ggc_alloc): Update PREV field appropriately.
(sweep_pages): Likewise.
(ggc_free): Likewise. Use PREV field rather than loop to
improve ggc_free performance.
cp/
* init.c (build_vec_delete_1): Convert 2nd argument to NE_EXPR to
the proper type.
From-SVN: r78713
Diffstat (limited to 'gcc/cp/init.c')
-rw-r--r-- | gcc/cp/init.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 0065244..4a31bd5 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -2436,7 +2436,8 @@ build_vec_delete_1 (tree base, tree maxindex, tree type, /* Outermost wrapper: If pointer is null, punt. */ body = fold (build (COND_EXPR, void_type_node, fold (build (NE_EXPR, boolean_type_node, base, - integer_zero_node)), + convert (TREE_TYPE (base), + integer_zero_node))), body, integer_zero_node)); body = build1 (NOP_EXPR, void_type_node, body); |