[cfe-dev] [PATCH]: Sema support for C++ classes
Argiris Kirtzidis
akyrtzi at gmail.com
Fri Jun 27 18:56:29 PDT 2008
Hi Eli,
Eli Friedman wrote:
> On Fri, Jun 27, 2008 at 5:23 PM, Argiris Kirtzidis <akyrtzi at gmail.com> wrote:
>
>>> + assert(II && "No identifier ?");
>>>
>>> does this abort on unnamed bitfields like "int : 4;" ?
>>>
>> This requires changes to the parser too. Can we fix it after the patch
>> goes in so I can make one "unified" Parser+Sema+test commit, specific to
>> this case ?
>>
>
> I'd suggest figuring out whatever parser changes are needed, commit
> that fix, then integrate the Sema changes into the next revision of
> this patch; the parser fix looks mostly independent.
>
Sounds reasonable.
> On a somewhat related note, the comment "// Attributes are only
> allowed on the second declarator." in ParseCXXClassMemberDeclaration
> is wrong, I think; g++ accepts "class C {int a
> __attribute((mode(HI)));};".
>
I copied the attribute parsing from ParseStructDeclaration.
The attribute you mention is parsed some lines before with:
>
> // If attributes exist after the declarator, parse them.
> if (Tok.is(tok::kw___attribute))
> DeclaratorInfo.AddAttributes(ParseAttributes());
Nevertheless, that comment seems a bit misleading to me too..
-Argiris
More information about the cfe-dev
mailing list