From ad90e28f8f685996778fa94aa6c9b5c86adb210c Mon Sep 17 00:00:00 2001
From: Dan Nicolaescu <dann@ics.uci.edu>
Date: Sun, 25 Sep 2005 20:01:07 +0000
Subject: [PATCH] re PR target/23828 (local calling convention not used when
 using --combine)

PR 23828
* config/i386/i386.c (ix86_function_regparm): Fix the test for
a nested function.

From-SVN: r104623
---
 gcc/ChangeLog          | 6 ++++++
 gcc/config/i386/i386.c | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5d20b881af50..d64329774a83 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-09-25  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	PR 23828
+	* config/i386/i386.c (ix86_function_regparm): Fix the test for
+	a nested function.
+
 2005-09-25  Richard Henderson  <rth@redhat.com>
 
 	* config/alpha/alpha.c (tls_symbolic_operand_1): Trust
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 914e66ea0e06..6d90a009cde9 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -2158,7 +2158,8 @@ ix86_function_regparm (tree type, tree decl)
 	      /* We can't use regparm(3) for nested functions as these use
 		 static chain pointer in third argument.  */
 	      if (local_regparm == 3
-		  && DECL_CONTEXT (decl) && !DECL_NO_STATIC_CHAIN (decl))
+		  && decl_function_context (decl)
+		  && !DECL_NO_STATIC_CHAIN (decl))
 		local_regparm = 2;
 	      /* Each global register variable increases register preassure,
 		 so the more global reg vars there are, the smaller regparm
-- 
GitLab