<div dir="ltr"><div>+<a href="mailto:curdeius@gmail.com">curdeius@gmail.com</a></div><div><br></div>I found this thread while searching for something else in the list archive.<div><br></div><div>This report would definitely be more visible on <a href="http://llvm.org/bugs">llvm.org/bugs</a>, I've filed it as <a href="http://llvm.org/PR22785">llvm.org/PR22785</a>.</div><div><br></div><div>The issue has nothing to do with the Clang's treatment of macros in -Wundefined-bool-conversion/-Wtautological-undefined-compare diagnostics. It's just an over-eager attempt to avoid breaking the code by messing with macros.</div><div><br></div><div>Marek (cc-ed here) is the author of the corresponding check. Maybe he'll be interested in fixing the issue.</div><div><br></div><div>-- Alex</div><div><br></div><div><div class="gmail_extra"><div class="gmail_quote">On Mon, Nov 10, 2014 at 1:59 PM, miroslav.fontan <span dir="ltr"><<a href="mailto:miroslav.fontan@wincor-nixdorf.cz" target="_blank">miroslav.fontan@wincor-nixdorf.cz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi,<br>
<br>
Thanks for the -save-temps hint, it helps with this particular issue,<br>
unfortunatelly it does not solve the cause of the problem.<br>
<br>
I guess that Clang-based tools inherit the same macro treatment from clang<br>
parser and give an inaccurate results.<br>
<br>
For example this code fragment is handled incorrectly by command: clang-tidy<br>
-check=-*,readability-braces-around-statements -fix<br>
<br>
#define MACRO_1 i++<br>
#define MACRO_2<br>
<br>
void test(int i)<br>
{<br>
        if( i % 3) i--; // OK<br>
        else if( i % 2) MACRO_1; // KO, no braces<br>
        else MACRO_2; // OK<br>
}<br>
<br>
Maybe I am stubborn, I still think that preprocess step should be made<br>
completely before the next steps.<br>
<br>
Best regards<br>
<br>
Mira<br>
<span class="im"><br>
<br>
> -----Original Message-----<br>
> From: <a href="mailto:cfe-dev-bounces@cs.uiuc.edu">cfe-dev-bounces@cs.uiuc.edu</a> [mailto:<a href="mailto:cfe-dev-bounces@cs.uiuc.edu">cfe-dev-bounces@cs.uiuc.edu</a>]<br>
</span><span class="im">> On Behalf Of Joerg Sonnenberger<br>
> Sent: Wednesday, November 05, 2014 12:20 PM<br>
> To: <a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
> Subject: Re: [cfe-dev] Warnings not raised from a macro: -Wundefined-<br>
> bool-conversion/-Wtautological-undefined-compare<br>
><br>
</span><div class=""><div class="h5">> On Wed, Nov 05, 2014 at 11:58:55AM +0100, miroslav.fontan wrote:<br>
> > I think Martin is right. Preprocessor is only textual replacement,<br>
> > compiler should not know about this step and compiles code resulting<br>
> > from preprocess step.<br>
><br>
> A lot of people disagree. If you want to force it to give all warnings,<br>
> use -save-temps.<br>
><br>
> Joerg<br>
> _______________________________________________<br>
> cfe-dev mailing list<br>
> <a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br>
<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br>
</div></div></div>