This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]