[cfe-dev] ParseClassSpecifier: can "unions" inherit?

Argiris Kirtzidis akyrtzi at gmail.com
Thu Sep 4 19:51:54 PDT 2008


Ted Kremenek wrote:
> I just noticed the following code fragment in ParseClassSpecifier:
>
>    // Parse the tag portion of this.
>    DeclTy *TagDecl = Actions.ActOnTag(CurScope, TagType, TK, StartLoc,  
> Name,
>                                       NameLoc, Attr);
>
>    // Parse the optional base clause (C++ only).
>    if (getLang().CPlusPlus && Tok.is(tok::colon)) {
>      ParseBaseClause(TagDecl);
>    }
>
> It appears from the code that the 'if' branch can be taken even if the  
> tag decl is a union.  Is this valid in the C++ grammar?  That is, can  
> there be a "base clause" for unions in C++, and if so, what does that  
> mean?
>   

It gets flagged as error by Sema. In
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>   



More information about the cfe-dev mailing list