public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Help with BLOCK vs BIND_EXPR trees?
@ 2009-06-04  5:33 Jerry Quinn
  0 siblings, 0 replies; only message in thread
From: Jerry Quinn @ 2009-06-04  5:33 UTC (permalink / raw)
  To: gcc

Hi, all.  I have a basic question about GENERIC trees.

I'm playing with writing a front end, and find the distinction between
BLOCK and BIND_EXPR to be somewhat confusing.  In particular, I'm trying
to get a handle on how to represent a function in GENERIC form.

On the surface the texi docs and code comments don't seem to agree:

Section on function trees say FUNCTION_DECL represents a function, and
that DECL_INITIAL is not empty.  But it doesn't say what should be
contained there.  It says DECL_SAVED_TREE should contain the body of the
function.

The comments in tree.h say that DECL_INITIAL holds the body of a
function, with a BLOCK tree at the root.

BLOCK nodes are described under TREE_SSA->GIMPLE, though these nodes are
part of GENERIC if I understand correctly.  In this section, it says
that block scopes and variables are declared in BIND_EXPR nodes.

Can someone please clarify how these things are supposed to relate in
GENERIC form, assuming the default conversion to GIMPLE will be used?

Thanks,
Jerry Quinn

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-06-04  5:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-04  5:33 Help with BLOCK vs BIND_EXPR trees? Jerry Quinn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).