Additional tree node questions.
Brendon Costa
bcosta@avdat.com.au
Fri Oct 13 05:38:00 GMT 2006
Sorry about the separate email.
In addition to the previous questions I want to ask if there is a
better way of achieving finding the type nodes for a functions
exception specification list.
For each FUNCTION_DECL node I find, I want to determine what its
exception specification list is. I.e. the throws() statement in its
prototype.
For example:
Function1();
Function2() throws();
Function3() throws(int, float);
Where 1 has no specification list, 2 has a empty list and 3 has a list
that allows int and float exceptions to pass through.
What is the best way to find the type nodes for this exception spec
list? I am doing it in a very cumbersome way at the moment and was
wondering if there exists an elegant way to achieve this?
I currently assume that ANY EH_FILTER_EXPR node i find while parsing
the contents of a FUNCTION_DECL defines a spec list (and if I don't
find one then it allows all exceptions to pass through). I don't think
this is correct though. Is it? I then use EH_FILTER_MUST_NOT_THROW()
and EH_FILTER_TYPES() to gather my information from this node.
Is there a better way of achieving this?
Thanks,
Brendon.
More information about the Gcc
mailing list