[cfe-dev] Decls are not synonyms for the symbols they represent

Ted Kremenek kremenek at apple.com
Tue Sep 16 20:21:09 PDT 2008


On Sep 16, 2008, at 6:52 PM, Argiris Kirtzidis wrote:

> Argiris Kirtzidis wrote:
>>
>> What do you think about the idea of going back to single  
>> RecordDecls and using DeclGroups to represent the above example ?
>>
>> struct s; -> typespecifier ';' -> DeclGroup with TypeSpecifier  
>> referencing 's' and empty declaration list
>> struct s { int a; }; -> typespecifier ';' -> DeclGroup with  
>> TypeSpecifier defining 's' and empty declaration list
>>
>> And only one RecordDecl will be created for 's'.
>>
>> Or maybe make it more explicit by introducing a TypeSpecDecl for  
>> these constructs.
>
> Also, by having only TypeSpecifiers own RecordDecls, the ownership  
> model for RecordDecls is more consistent that an ownership model  
> where sometimes a TypeSpecifier owns a RecordDecl and other times  
> it's the translation unit.


Hi Argiris,

My understanding was that with the combination of TypeSpecifiers and  
DeclGroups, TranslationUnit would no longer have any direct reference  
to a RecordDecl (and thus never own it).  Isn't this true?

Ted



More information about the cfe-dev mailing list