From 08039bd80bfdee7e30ff80b0eb8873ea60ba2a50 Mon Sep 17 00:00:00 2001 From: Roger Sayle Date: Sat, 12 Jun 2004 19:41:51 +0000 Subject: 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 --- gcc/tree.h | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/tree.h') 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); -- cgit v1.1