This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/23470] a*a (for floats) is not considered always postive (-ffast-math only)



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]