fold-const.c (omit_two_operands): New function.
authorRoger Sayle <roger@eyesopen.com>
Sat, 12 Jun 2004 19:41:51 +0000 (19:41 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Sat, 12 Jun 2004 19:41:51 +0000 (19:41 +0000)
commit08039bd80bfdee7e30ff80b0eb8873ea60ba2a50
tree7e11e3760e9116204227c10877ce045689c9dece
parenta2a2059fd77eb8c30c0534cbc766c21072a9829a
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/ChangeLog
gcc/builtins.c
gcc/fold-const.c
gcc/tree.h