summaryrefslogtreecommitdiffstats
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2008-05-18 23:19:38 +0000
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2008-05-18 23:19:38 +0000
commitc319d56a190951521f8c2e27736843b268de571a (patch)
tree90c75e8f2433a04ac95315cbba4166b8f7f7b3d2 /gcc/fold-const.c
parentb44437b93bb8f0facf4605ee88e5f82d95ce64ef (diff)
downloadppe42-gcc-c319d56a190951521f8c2e27736843b268de571a.tar.gz
ppe42-gcc-c319d56a190951521f8c2e27736843b268de571a.zip
PR middle-end/35509
* builtins.c (mathfn_built_in_1): Renamed from mathfn_built_in. Add `implicit' parameter. Handle BUILT_IN_SIGNBIT. (mathfn_built_in): Rewrite in terms of mathfn_built_in_1. (fold_builtin_classify): Handle BUILT_IN_ISINF_SIGN. (fold_builtin_1): Likewise. * builtins.def (BUILT_IN_ISINF_SIGN): New. c-common.c (check_builtin_function_arguments): Handle BUILT_IN_ISINF_SIGN. * doc/extend.texi: Document __builtin_isinf_sign. * fold-const.c (operand_equal_p): Handle COND_EXPR. testsuite: * gcc.dg/builtins-error.c: Test __builtin_isinf_sign. * gcc.dg/tg-tests.h: Likewise. Mark variables volatile. * gcc.dg/torture/builtin-isinf_sign-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135517 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r--gcc/fold-const.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index dc1e182c16f..4113dc45b21 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -3258,6 +3258,9 @@ operand_equal_p (const_tree arg0, const_tree arg1, unsigned int flags)
&& operand_equal_p (TREE_OPERAND (arg0, 1),
TREE_OPERAND (arg1, 0), flags));
+ case COND_EXPR:
+ return OP_SAME (0) && OP_SAME (1) && OP_SAME (2);
+
default:
return 0;
}
OpenPOWER on IntegriCloud