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.



Reply via email to