From: kazu Date: Sat, 12 Mar 2005 16:14:42 +0000 (+0000) Subject: * builtins.c (fold_builtin_logarithm): Take decomposed X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f27ba301fb6bbe51a6413456d412d41a9e113037;p=thirdparty%2Fgcc.git * builtins.c (fold_builtin_logarithm): Take decomposed arguments of CALL_EXPR. (fold_builtin_1): Update a call to fold_builtin_logarithm. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96342 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index de9f040ea6c2..19cf0b943a84 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -19,6 +19,10 @@ arguments of CALL_EXPR. (fold_builtin_1): Update a call to fold_builtin_exponent. + * builtins.c (fold_builtin_logarithm): Take decomposed + arguments of CALL_EXPR. + (fold_builtin_1): Update a call to fold_builtin_logarithm. + 2005-03-12 Geoffrey Keating * c-lex.c (c_lex_with_flags): Add parameter to call to diff --git a/gcc/builtins.c b/gcc/builtins.c index ff9a5356c86d..1c0380389795 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -6783,13 +6783,11 @@ real_dconstp (tree expr, const REAL_VALUE_TYPE *value) function. VALUE is the base of the logN function. */ static tree -fold_builtin_logarithm (tree exp, const REAL_VALUE_TYPE *value) +fold_builtin_logarithm (tree fndecl, tree arglist, + const REAL_VALUE_TYPE *value) { - tree arglist = TREE_OPERAND (exp, 1); - if (validate_arglist (arglist, REAL_TYPE, VOID_TYPE)) { - tree fndecl = get_callee_fndecl (exp); tree type = TREE_TYPE (TREE_TYPE (fndecl)); tree arg = TREE_VALUE (arglist); const enum built_in_function fcode = builtin_mathfn_code (arg); @@ -8122,17 +8120,17 @@ fold_builtin_1 (tree exp, bool ignore) case BUILT_IN_LOG: case BUILT_IN_LOGF: case BUILT_IN_LOGL: - return fold_builtin_logarithm (exp, &dconste); + return fold_builtin_logarithm (fndecl, arglist, &dconste); case BUILT_IN_LOG2: case BUILT_IN_LOG2F: case BUILT_IN_LOG2L: - return fold_builtin_logarithm (exp, &dconst2); + return fold_builtin_logarithm (fndecl, arglist, &dconst2); case BUILT_IN_LOG10: case BUILT_IN_LOG10F: case BUILT_IN_LOG10L: - return fold_builtin_logarithm (exp, &dconst10); + return fold_builtin_logarithm (fndecl, arglist, &dconst10); case BUILT_IN_TAN: case BUILT_IN_TANF: