[Bug middle-end/23470] a*a (for floats) is not considered always postive (-ffast-math only)
sayle at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Nov 1 02:57:00 GMT 2006
------- Comment #3 from sayle at gcc dot gnu dot org 2006-11-01 02:56 -------
Subject: Bug 23470
Author: sayle
Date: Wed Nov 1 02:56:45 2006
New Revision: 118355
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118355
Log:
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.
Added:
trunk/gcc/testsuite/gcc.dg/pr23470-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/fold-const.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree.h
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23470
More information about the Gcc-bugs
mailing list