[PATCH] SemaChecking: return type validation for member functions
richard at metafoo.co.uk
Wed Jan 8 16:28:32 PST 2014
OK, the bug was introduced in r111357, which is largely doing the wrong thing. I'd suggest removing its mechanism and replacing it with a mechanism to store a deferred set of abstractness checks, as we do for other checks we defer until the end of the outermost class definition (see `DelayedDefaultedMemberExceptionSpecs` and `DelayedDestructorExceptionSpecChecks` for a pattern to follow).
Basically, change `RequiresNonAbstractType` to check if the type is being defined, and if so, add it to the delayed set, then check and clear the delayed set when you get to the end of the outermost class definition.
More information about the cfe-commits