function.c (lookup_static_chain): Check for a static chain using FUNCTION_NEEDS_STATIC_CHAIN.

* function.c (lookup_static_chain):  Check for a static chain
using FUNCTION_NEEDS_STATIC_CHAIN.
(init_function_start):  Set current_function_needs_context depending
on FUNCTION_NEEDS_STATIC_CHAIN rather than decl_function_context.

From-SVN: r9096
This commit is contained in:
Per Bothner 1995-02-28 15:06:03 -08:00
parent 7c38c3ad5e
commit 7ad8c4bf11
1 changed files with 10 additions and 4 deletions

View File

@ -4246,12 +4246,18 @@ rtx
lookup_static_chain (decl) lookup_static_chain (decl)
tree decl; tree decl;
{ {
tree context = decl_function_context (decl); tree context, link;
tree link;
if (TREE_CODE (decl) == FUNCTION_DECL
? ! FUNCTION_NEEDS_STATIC_CHAIN (decl)
: ! FUNCTION_NEEDS_STATIC_CHAIN (current_function_decl))
return 0;
context = decl_function_context (decl);
if (context == 0) if (context == 0)
return 0; return 0;
/* We treat inline_function_decl as an alias for the current function /* We treat inline_function_decl as an alias for the current function
because that is the inline function whose vars, types, etc. because that is the inline function whose vars, types, etc.
are being merged into the current function. are being merged into the current function.
@ -4707,7 +4713,7 @@ init_function_start (subr, filename, line)
/* Nonzero if this is a nested function that uses a static chain. */ /* Nonzero if this is a nested function that uses a static chain. */
current_function_needs_context current_function_needs_context
= (decl_function_context (current_function_decl) != 0); = FUNCTION_NEEDS_STATIC_CHAIN (current_function_decl);
/* Set if a call to setjmp is seen. */ /* Set if a call to setjmp is seen. */
current_function_calls_setjmp = 0; current_function_calls_setjmp = 0;