[cfe-commits] [MS] Improved diagnostics of inheritance attributes

João Matos ripzonetriton at gmail.com
Tue Jun 26 22:54:16 PDT 2012


> +def warn_ms_inheritance_already_declared : Warning<
> +  "ignored since inheritance model was already declared as '"
> +  "%select{single|multiple|virtual}0'">;
>
> This should definitely be an error.  Even if this is a warning in MSVC, I want this to be an error unless it's literally blocking headers from compiling.

I had it as an error initially, but then tested in MSVC and since it
was a warning I changed it for maximum compatibility.

> Hmm.  In retrospect, it would really be better to model this as a single Attr kind that carries an enum distinguishing the cases.  Would you mind?

I agree, I thought about changing it to just a single attribute while
doing the patch, but seemed more trouble than it was worth.

> You'll want to test both paths, i.e. both adding a definition to a previously-declared class and redeclaring a class that's already been defined.

Re-declaring a class that's already defined just seems to hit a
generic attribute warning ("attribute declaration must precede
definition"), so I didn't think it was necessary to check for it.

I'll try to rework the patch a bit and address your concerns. Thanks
for the review.

-- 
João Matos




More information about the cfe-commits mailing list