diff options
author | Dan Nicolaescu <dann@ics.uci.edu> | 2005-09-25 20:01:07 +0000 |
---|---|---|
committer | Dan Nicolaescu <dann@gcc.gnu.org> | 2005-09-25 20:01:07 +0000 |
commit | ad90e28f8f685996778fa94aa6c9b5c86adb210c (patch) | |
tree | d5b5eacaa04858942dbe50ce2f50b5cfe551b0a8 /gcc | |
parent | f6326c19c793f5f277502fd9f1be365bd0c93726 (diff) | |
download | gcc-ad90e28f8f685996778fa94aa6c9b5c86adb210c.zip gcc-ad90e28f8f685996778fa94aa6c9b5c86adb210c.tar.gz gcc-ad90e28f8f685996778fa94aa6c9b5c86adb210c.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5d20b88..d643297 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 914e66e..6d90a00 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 |