aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2004-06-12 19:41:51 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2004-06-12 19:41:51 +0000
commit08039bd80bfdee7e30ff80b0eb8873ea60ba2a50 (patch)
tree7e11e3760e9116204227c10877ce045689c9dece /gcc/tree.h
parenta2a2059fd77eb8c30c0534cbc766c21072a9829a (diff)
downloadgcc-08039bd80bfdee7e30ff80b0eb8873ea60ba2a50.zip
gcc-08039bd80bfdee7e30ff80b0eb8873ea60ba2a50.tar.gz
gcc-08039bd80bfdee7e30ff80b0eb8873ea60ba2a50.tar.bz2
fold-const.c (omit_two_operands): New function.
* fold-const.c (omit_two_operands): New function. * tree.h (omit_two_operands): Prototype here. * builtins.c (fold_builtin_unordered_cmp): New function to lower C99 unordered comparison builtins to the appropriate tree nodes. (fold_builtin_1): Use fold_builtin_unordered_cmp to lower BUILT_IN_ISGREATER, BUILT_IN_ISGREATEREQUAL, BUILT_IN_ISLESS, BUILT_IN_ISLESSEQUAL and BUILT_IN_ISLESSGREATER. Manually lower BUILT_IN_ISUNORDERED comparisons to an UNORDERED_EXPR tree node. (simplify_builtin_memcmp, simplify_builtin_strncmp, simplify_builtin_strncat, simplify_builtin_strspn): Use the new omit_two_operands function to build the required COMPOUND_EXPRs. From-SVN: r83040
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 09c2fe3..e0ba912 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -3508,6 +3508,7 @@ enum operand_equal_flag
extern int operand_equal_p (tree, tree, unsigned int);
extern tree omit_one_operand (tree, tree, tree);
+extern tree omit_two_operands (tree, tree, tree, tree);
extern tree invert_truthvalue (tree);
extern tree nondestructive_fold_unary_to_constant (enum tree_code, tree, tree);
extern tree nondestructive_fold_binary_to_constant (enum tree_code, tree, tree, tree);