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.