diff options
author | Roger Sayle <roger@eyesopen.com> | 2006-11-01 02:56:45 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2006-11-01 02:56:45 +0000 |
commit | 682d039597faffc4ec84e7a569b93e9447b3e681 (patch) | |
tree | d9a9688ea50ffdbd59bbb3b045ca29467f5f137c /gcc/tree.h | |
parent | a3a1ebb559bce23379e851067df080d9f103f55e (diff) | |
download | gcc-682d039597faffc4ec84e7a569b93e9447b3e681.zip gcc-682d039597faffc4ec84e7a569b93e9447b3e681.tar.gz gcc-682d039597faffc4ec84e7a569b93e9447b3e681.tar.bz2 |
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
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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); |