[cfe-dev] Fix to the exception specifications type checking

Douglas Gregor dgregor at apple.com
Tue Dec 8 13:01:12 PST 2009


On Dec 8, 2009, at 12:25 PM, Nicola Gigante wrote:

> Hello again!
>
> Douglas pointed me to a FIXME comment in SemaExceptionSpec.cpp that  
> would be interesting to fix. In practice this would allow the last  
> line of test/SemaCXX/exception-spec.cpp to compile (it's commented  
> now).
>
> I don't know very well how are the various clang classes, types  
> etc... (and I'm learning) so I ask some questions:
>
> To fix this bug I need to modify the  
> Sema::CheckSpecifiedExceptionType method to check if the specified  
> type is the class that contains the exception specification itself.
> How do I obtain this class name? I think an additional parameter  
> from the caller is required. In this case the caller is  
> Sema::GetTypeForDeclarator. So I think I could get the class from  
> the Declarator object? How?


There's an easier way to tell if a type is being defined. RecordType  
has an isBeingDefined() function that will tell you if that type is  
currently being defined.

	- Doug



More information about the cfe-dev mailing list