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

Nicola Gigante nicola.gigante at gmail.com
Tue Dec 8 14:22:58 PST 2009


Il giorno 08/dic/2009, alle ore 22.01, Douglas Gregor ha scritto:

> 
> 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.
> 

Thanks! Then the patch is very easy, you find it attached. I've also uncommented that line in the test exception-spec.cpp. At least this is a try, because I'm not sure about a detail. Suppose we have a nested class that contains a method that throws the outer class:

class A {
   class B {
      void f() throw(A);
   };
};

Is this legal? If it is, no problem.

If it isn't, my patch doesn't do the job because isBeingDefined() still returns true.

Nicola

-------------- next part --------------
A non-text attachment was scrubbed...
Name: core-issue-437.patch
Type: application/octet-stream
Size: 1548 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20091208/48947d96/attachment.obj>


More information about the cfe-dev mailing list