This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: committed: Ada updates
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: rth at redhat dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 8 Apr 04 14:06:11 EDT
- Subject: Re: committed: Ada updates
DEFTREECODE (TRANSFORM_EXPR, "transform_expr", 'e', 0)
No idea what this does. Cruft?
Note that I was talking about the _STMT nodes ... the others have been
around for a while.
This one will actually go away as part of function-at-a-time. The idea
was to be able to defer elaboration of a piece of Ada tree and do it
during RTL generation. The single operand is a node number in the Ada tree.
DEFTREECODE (NULL_EXPR, "null_expr", 'e', 1)
I expect this doesn't need to exist, but I can't
quite tell what it's used for.
It's an expression that returns an object of a certain type but with
undefined result. It's used as a result for error cases.
DEFTREECODE (USE_EXPR, "use_expr", 'e', 1)
Why?
It's for pragma Inspection_Point, which at the source level tells the
compiler to make sure that the stated identifiers are visible at that
point to some external tool since as an ICE or debugger.
DEFTREECODE (EXPR_STMT, "expr_stmt", 's', 1)
DEFTREECODE (BLOCK_STMT, "block_stmt", 's', 1)
DEFTREECODE (IF_STMT, "if_stmt", 's', 4)
DEFTREECODE (GOTO_STMT, "goto_stmt", 's', 1)
DEFTREECODE (LABEL_STMT, "label_stmt", 's', 1)
DEFTREECODE (RETURN_STMT, "return_stmt", 's', 1)
These all have direct GENERIC replacements.
That was my main question.