[cfe-commits] Patch: Add warning for undefined reinterpret_cast behavior

Argyrios Kyrtzidis kyrtzidis at apple.com
Thu Apr 28 20:46:46 PDT 2011


One nitpick, I'd prefer that the DiagnosticLevel check is "close" in source code to the emission of the diagnostic.
Could you insert the DiagnosticLevel check in the two places where the diagnostic is emitted or change isCompatibleReinterpretCast
to a CheckCompatibleReinterpretCast function that does checks+warning ? isCompatibleReinterpretCast isn't used for anything else other than to emit the warning after all.

On Apr 28, 2011, at 8:24 PM, Richard Trieu wrote:

> Added the level check.  There's two warning messages, so I added a check for each one.
> 
> On Thu, Apr 28, 2011 at 7:36 PM, Argyrios Kyrtzidis <kyrtzidis at apple.com> wrote:
> You don't check whether the warning is turned off to skip the checks completely, something like
> 
> Diags.getDiagnosticLevel(diag::warn_pointer_indirection_from_incompatible_type, OpLoc) != Diagnostic::Ignored)
> 
> 
> On Apr 28, 2011, at 7:16 PM, Richard Trieu wrote:
> 
>> Changes to support the white list in [basic.lval]p10.  There should be a corresponding test to each list item, except when those dealing with tag types since we are skipping them for now.
>> 
>> On Wed, Apr 27, 2011 at 6:11 PM, John McCall <rjmccall at apple.com> wrote:
>> On Apr 27, 2011, at 6:07 PM, Richard Trieu wrote:
>> > Is there a way that Clang can check if the warning is turned off and skip the expensive checking?
>> 
>> Yes, you can check whether the current mapping for the diagnostic is still "ignore".
>> 
>> > And did you mean the list in [basic.lval]p15?  [basic.lval]p10 doesn't have a list.
>> 
>> We're just looking at different standards. :)  C++11's [basic.lval]p10 is just minor wording differences from C++03's [basic.lval]p15.
>> 
>> John.
>> 
>> <undefined-reinterpret-cast3.patch>_______________________________________________
>> 
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> 
> 
> <undefined-reinterpret-cast4.patch>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20110428/89cdcfdc/attachment.html>


More information about the cfe-commits mailing list