This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [3.4 PATCH] Fix inline nested functions (PR middle-end/15345,c/16450)
On Tue, 20 Jul 2004 12:03:32 -0700, Mark Mitchell <mark@codesourcery.com> wrote:
> Richard Henderson wrote:
>
>>On Tue, Jul 20, 2004 at 11:22:11AM -0400, Jakub Jelinek wrote:
>>
>>
>>>+ || (cgraph_n_nodes > 0 && cgraph_node (decl)->origin))
>>>
>>>
>>
>>decl_function_context (decl) is the canonical way to test for nested.
>>
>>
> Just to be clear, in C++, with:
>
> void f() { struct S { void g() { } }; };
>
> the "g" function will have a non-NULL decl_function_context, but is not
> "nested" in the sense of GNU C nested functions; for example, "g" cannot
> refer to automatic variables in "f".
It's not nested in the sense of needing a static chain, but it is nested in
the sense of being within the scope of f, which I think is what cgraph
wants to check.
Jason