diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e7ea5f8f0761958016d0a5dd71e30b72dbbec53c..0ea234e0afd9218440402c3a9b5f14336436e211 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-03-13 Kazu Hirata <kazu@cs.umass.edu> + + * builtins.c (fold_builtin_classify): Take decomposed + arguments of CALL_EXPR. + (fold_builtin_1): Update a call to fold_builtin_classify. + 2005-03-13 Joseph S. Myers <joseph@codesourcery.com> PR c/20402 diff --git a/gcc/builtins.c b/gcc/builtins.c index 1c03803897951313abccc8ccc02c72265a457f96..b8b8c455bc2449ba976cb5cc20ec5cadd265d4e3 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -7750,10 +7750,8 @@ fold_builtin_abs (tree arglist, tree type) EXP is the CALL_EXPR for the call. */ static tree -fold_builtin_classify (tree exp, int builtin_index) +fold_builtin_classify (tree fndecl, tree arglist, int builtin_index) { - tree fndecl = get_callee_fndecl (exp); - tree arglist = TREE_OPERAND (exp, 1); tree type = TREE_TYPE (TREE_TYPE (fndecl)); tree arg; REAL_VALUE_TYPE r; @@ -8264,17 +8262,17 @@ fold_builtin_1 (tree exp, bool ignore) case BUILT_IN_FINITE: case BUILT_IN_FINITEF: case BUILT_IN_FINITEL: - return fold_builtin_classify (exp, BUILT_IN_FINITE); + return fold_builtin_classify (fndecl, arglist, BUILT_IN_FINITE); case BUILT_IN_ISINF: case BUILT_IN_ISINFF: case BUILT_IN_ISINFL: - return fold_builtin_classify (exp, BUILT_IN_ISINF); + return fold_builtin_classify (fndecl, arglist, BUILT_IN_ISINF); case BUILT_IN_ISNAN: case BUILT_IN_ISNANF: case BUILT_IN_ISNANL: - return fold_builtin_classify (exp, BUILT_IN_ISNAN); + return fold_builtin_classify (fndecl, arglist, BUILT_IN_ISNAN); case BUILT_IN_ISGREATER: return fold_builtin_unordered_cmp (fndecl, arglist, UNLE_EXPR, LE_EXPR);