aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2007-03-08 21:37:28 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2007-03-08 21:37:28 +0000
commitaeabd15d4578ba6e4aaf05a7aa45686d2c28f32e (patch)
treedbab368dba483b020c7abd1257f7b8bc8f3a18a4 /gcc/fold-const.c
parentf53e867d7380799d6e3e1513f436ded5b8131668 (diff)
downloadgcc-aeabd15d4578ba6e4aaf05a7aa45686d2c28f32e.zip
gcc-aeabd15d4578ba6e4aaf05a7aa45686d2c28f32e.tar.gz
gcc-aeabd15d4578ba6e4aaf05a7aa45686d2c28f32e.tar.bz2
builtins.def (lceil, [...]): Mark with ATTR_CONST_NOTHROW_LIST.
* builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl, llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with ATTR_CONST_NOTHROW_LIST. * fold-const.c (tree_expr_nonnegative_warnv_p): Handle FIX_TRUNC_EXPR. testsuite: * gcc.dg/builtins-55.c: Test *lceil* and *lfloor*. * gcc.dg/torture/builtin-attr-1.c: Likewise. * gcc.dg/torture/builtin-convert-1.c: Likewise. Also test *lrint* and *lround*. * gcc.dg/torture/builtin-convert-2.c: Test ceil->lceil and floor->lfloor. * gcc.dg/torture/builtin-convert-3.c: Test *lceil* and *lfloor*. * gcc.dg/torture/builtin-integral-1.c: Likewise. * gcc.dg/torture/builtin-minmax-1.c: Likewise. Also test *lrint* and *lround*. Correct macro names. * gcc.dg/torture/builtin-nonneg-1.c: Test *lceil* and *lfloor*. * gcc.dg/torture/builtin-rounding-1.c: Likewise. From-SVN: r122713
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r--gcc/fold-const.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 4d59f71..45ee227 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -13256,6 +13256,7 @@ tree_expr_nonnegative_warnv_p (tree t, bool *strict_overflow_p)
case SAVE_EXPR:
case NON_LVALUE_EXPR:
case FLOAT_EXPR:
+ case FIX_TRUNC_EXPR:
return tree_expr_nonnegative_warnv_p (TREE_OPERAND (t, 0),
strict_overflow_p);