[cfe-dev] Declaration name qualifiers.

Douglas Gregor dgregor at apple.com
Fri Mar 12 13:13:21 PST 2010


On Mar 12, 2010, at 2:41 PM, John McCall wrote:

> On Mar 12, 2010, at 1:38 AM, Enea Zaffanella wrote:
>> <Qualifier.patch>
> 
> I'm not okay with adding 2-3 pointers to every DeclaratorDecl for what's an uncommon case(*) even in C++.  Please use a QualType-like hack here;  that is to say, please make the DeclInfo field a PointerUnion<TypeSourceInfo*,UncommonData*> where UncommonData is a private struct holding the qualifier information (and the TypeSourceInfo*, of course).

I agree.

> I'm pretty sure you don't need this in TagDecl;  I don't think enums can be declared out-of-line, so it could be pushed down to CXXRecordDecl at least.

C++0x allows forward declarations (and, therefore, out-of-line definitions) of enums, and it's also a GNU extension. So we do need this in TagDecl.

	- Doug



More information about the cfe-dev mailing list