summaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2015-01-22 16:44:50 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2015-01-22 16:44:50 +0000
commiteb1e3e628ed95cbe2d831e5595f712df9832d02a (patch)
tree054d0aa2c7319dc11a30f4c8c7f94709384441d9 /gcc/fold-const.c
parente351f8ce32f05eb80c31475e3edf4b0f6e429885 (diff)
downloadgcc-eb1e3e628ed95cbe2d831e5595f712df9832d02a.tar.gz
* fold-const.c (const_binop): Add early return for non-tcc_binary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220007 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r--gcc/fold-const.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 50a987771ab..b4301c78f30 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -1562,9 +1562,13 @@ const_binop (enum tree_code code, tree type, tree arg1, tree arg2)
default:;
}
+ if (TREE_CODE_CLASS (code) != tcc_binary)
+ return NULL_TREE;
+
/* Make sure type and arg0 have the same saturating flag. */
gcc_checking_assert (TYPE_SATURATING (type)
== TYPE_SATURATING (TREE_TYPE (arg1)));
+
return const_binop (code, arg1, arg2);
}