aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2011-07-07 14:21:21 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2011-07-07 14:21:21 +0000
commitbbc210abb5bc5dc9961f05af2187cfa7170d9916 (patch)
tree40cc7c59a7cb5207d4d46c9ee4d1811e68774391 /gcc/fold-const.c
parent29c5134ac901bba223eb66866cd4be7d30194dc3 (diff)
downloadgcc-bbc210abb5bc5dc9961f05af2187cfa7170d9916.zip
gcc-bbc210abb5bc5dc9961f05af2187cfa7170d9916.tar.gz
gcc-bbc210abb5bc5dc9961f05af2187cfa7170d9916.tar.bz2
fold-const.c (fold_unary_loc): Do not strip sign-changes for NEGATE_EXPR.
2011-07-07 Richard Guenther <rguenther@suse.de> * fold-const.c (fold_unary_loc): Do not strip sign-changes for NEGATE_EXPR. * gcc.dg/ftrapv-3.c: New testcase. From-SVN: r175976
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r--gcc/fold-const.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index e48aae9..44a8b6f 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -7561,7 +7561,7 @@ fold_unary_loc (location_t loc, enum tree_code code, tree type, tree op0)
if (arg0)
{
if (CONVERT_EXPR_CODE_P (code)
- || code == FLOAT_EXPR || code == ABS_EXPR)
+ || code == FLOAT_EXPR || code == ABS_EXPR || code == NEGATE_EXPR)
{
/* Don't use STRIP_NOPS, because signedness of argument type
matters. */