This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Global Var vs Local Var ?
QiangHuang wrote:
> I know that a variable declaration is represented as a VAR_DECL
> node or some related nodes in AST.
>
> But how to distinct the XXX_DECL node is for a Global Var or not?
It's in the documentation:
DECL_CONTEXT points to the node representing
the context in which this declaration has its scope. For
FIELD_DECLs, this is the RECORD_TYPE, UNION_TYPE, or
QUAL_UNION_TYPE node that the field is a member of. For VAR_DECL,
PARM_DECL, FUNCTION_DECL, LABEL_DECL, and CONST_DECL nodes, this
points to either the FUNCTION_DECL for the containing function, the
RECORD_TYPE or UNION_TYPE for the containing type, or NULL_TREE or
a TRANSLATION_UNIT_DECL if the given decl has "file scope".
Andrew.