[cfe-dev] Warnings not raised from a macro: -Wundefined-bool-conversion/-Wtautological-undefined-compare
miroslav.fontan
miroslav.fontan at wincor-nixdorf.cz
Mon Nov 10 04:59:43 PST 2014
Hi,
Thanks for the -save-temps hint, it helps with this particular issue,
unfortunatelly it does not solve the cause of the problem.
I guess that Clang-based tools inherit the same macro treatment from clang
parser and give an inaccurate results.
For example this code fragment is handled incorrectly by command: clang-tidy
-check=-*,readability-braces-around-statements -fix
#define MACRO_1 i++
#define MACRO_2
void test(int i)
{
if( i % 3) i--; // OK
else if( i % 2) MACRO_1; // KO, no braces
else MACRO_2; // OK
}
Maybe I am stubborn, I still think that preprocess step should be made
completely before the next steps.
Best regards
Mira
> -----Original Message-----
> From: cfe-dev-bounces at cs.uiuc.edu [mailto:cfe-dev-bounces at cs.uiuc.edu]
> On Behalf Of Joerg Sonnenberger
> Sent: Wednesday, November 05, 2014 12:20 PM
> To: cfe-dev at cs.uiuc.edu
> Subject: Re: [cfe-dev] Warnings not raised from a macro: -Wundefined-
> bool-conversion/-Wtautological-undefined-compare
>
> On Wed, Nov 05, 2014 at 11:58:55AM +0100, miroslav.fontan wrote:
> > I think Martin is right. Preprocessor is only textual replacement,
> > compiler should not know about this step and compiles code resulting
> > from preprocess step.
>
> A lot of people disagree. If you want to force it to give all warnings,
> use -save-temps.
>
> Joerg
> _______________________________________________
> 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