summaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-19 18:01:19 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2005-03-19 18:01:19 +0000
commit76b9b24b80deb7fa9b21724985daa7397552a5af (patch)
treedab884a8e07353dc0308201b13409a195921ef5b /gcc/builtins.c
parent8e76ec06168916e9079bced7ef8b08924ece58f1 (diff)
downloadgcc-76b9b24b80deb7fa9b21724985daa7397552a5af.tar.gz
* builtins.c (fold_trunc_transparent_mathfn): Take decomposed
arguments of CALL_EXPR. (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil, fold_builtin_found, fold_builtin_1): Update calls to fold_trunc_transparent_mathfn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96736 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 98a84f1ef3a..7ed97fb7bf3 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -144,7 +144,7 @@ static tree fold_builtin_inf (tree, int);
static tree fold_builtin_nan (tree, tree, int);
static int validate_arglist (tree, ...);
static bool integer_valued_real_p (tree);
-static tree fold_trunc_transparent_mathfn (tree);
+static tree fold_trunc_transparent_mathfn (tree, tree);
static bool readonly_data_expr (tree);
static rtx expand_builtin_fabs (tree, rtx, rtx);
static rtx expand_builtin_signbit (tree, rtx);
@@ -6069,10 +6069,8 @@ integer_valued_real_p (tree t)
Do the transformation. */
static tree
-fold_trunc_transparent_mathfn (tree exp)
+fold_trunc_transparent_mathfn (tree fndecl, tree arglist)
{
- tree fndecl = get_callee_fndecl (exp);
- tree arglist = TREE_OPERAND (exp, 1);
enum built_in_function fcode = DECL_FUNCTION_CODE (fndecl);
tree arg;
@@ -6524,7 +6522,7 @@ fold_builtin_trunc (tree exp)
return build_real (type, r);
}
- return fold_trunc_transparent_mathfn (exp);
+ return fold_trunc_transparent_mathfn (fndecl, arglist);
}
/* Fold function call to builtin floor, floorf or floorl. Return
@@ -6557,7 +6555,7 @@ fold_builtin_floor (tree exp)
}
}
- return fold_trunc_transparent_mathfn (exp);
+ return fold_trunc_transparent_mathfn (fndecl, arglist);
}
/* Fold function call to builtin ceil, ceilf or ceill. Return
@@ -6590,7 +6588,7 @@ fold_builtin_ceil (tree exp)
}
}
- return fold_trunc_transparent_mathfn (exp);
+ return fold_trunc_transparent_mathfn (fndecl, arglist);
}
/* Fold function call to builtin round, roundf or roundl. Return
@@ -6623,7 +6621,7 @@ fold_builtin_round (tree exp)
}
}
- return fold_trunc_transparent_mathfn (exp);
+ return fold_trunc_transparent_mathfn (fndecl, arglist);
}
/* Fold function call to builtin lround, lroundf or lroundl (or the
@@ -8198,7 +8196,7 @@ fold_builtin_1 (tree exp, bool ignore)
case BUILT_IN_RINT:
case BUILT_IN_RINTF:
case BUILT_IN_RINTL:
- return fold_trunc_transparent_mathfn (exp);
+ return fold_trunc_transparent_mathfn (fndecl, arglist);
case BUILT_IN_LROUND:
case BUILT_IN_LROUNDF: