From 682d039597faffc4ec84e7a569b93e9447b3e681 Mon Sep 17 00:00:00 2001 From: Roger Sayle Date: Wed, 1 Nov 2006 02:56:45 +0000 Subject: re PR middle-end/23470 (a*a (for floats) is not considered always postive (-ffast-math only)) PR middle-end/23470 * tree.h (tree_expr_nonnegative_p): Return "bool" instead of "int". * fold-const.c (tree_expr_nonnegative_p): Likewise. Consider pow(x,y) and powi(x,y) to be nonnegative if either x is nonnegative or y is an even integer. * gcc.dg/pr23470-1.c: New test case. From-SVN: r118355 --- gcc/tree.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/tree.h') diff --git a/gcc/tree.h b/gcc/tree.h index ce9daa6..6c8133f 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -3606,7 +3606,7 @@ extern HOST_WIDE_INT tree_low_cst (tree, int); extern int tree_int_cst_msb (tree); extern int tree_int_cst_sgn (tree); extern int tree_int_cst_sign_bit (tree); -extern int tree_expr_nonnegative_p (tree); +extern bool tree_expr_nonnegative_p (tree); extern bool may_negate_without_overflow_p (tree); extern tree get_inner_array_type (tree); -- cgit v1.1