From 5cb08bab242cda0413a68140b5752309500d8b57 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu@cs.umass.edu>
Date: Sun, 13 Mar 2005 04:35:12 +0000
Subject: [PATCH] builtins.c (fold_builtin_classify): Take decomposed arguments
 of CALL_EXPR.

	* builtins.c (fold_builtin_classify): Take decomposed
	arguments of CALL_EXPR.
	(fold_builtin_1): Update a call to fold_builtin_classify.

From-SVN: r96364
---
 gcc/ChangeLog  |  6 ++++++
 gcc/builtins.c | 10 ++++------
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e7ea5f8f0761..0ea234e0afd9 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 1c0380389795..b8b8c455bc24 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);
-- 
GitLab