aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/init.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2004-03-01 12:18:01 -0700
committerJeff Law <law@gcc.gnu.org>2004-03-01 12:18:01 -0700
commit9bf793f93534b672f460149e704869ac1d0f854d (patch)
treebe50a4b46ffe2e6609446e59e988c1df925aa7d5 /gcc/cp/init.c
parentc9e0ce371610049698e7af2a065ddea2ede63709 (diff)
downloadgcc-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.c3
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);