Review Request 113189: lower (a lot) warning noise caused by undefined macros

Jiří Pinkava j-pi at seznam.cz
Sun Oct 13 00:12:40 BST 2013



> On Oct. 10, 2013, 11:59 a.m., Bernd Buschinski wrote:
> > This is a bit confussing...
> > 
> > lets sum up the background story:
> > - kjs(/wtf) loves gcc features
> > - kjs-cmake filters out (gcc) pedantic
> > 
> > now comes the problem... whats with other compilers?
> > 
> > if you look at the commit message that caused the warnings:
> > 
> > "According to CPP standards (defined(X) && X) should be the same of just (X). On the other hand it is undefined behavior if 'defined' appears in a macro expansion. gcc -pedantic and icl evaluates them always to false."
> > ( http://quickgit.kde.org/?p=kdelibs.git&a=commit&h=75fa90c16232186bbd287a2ac79839ea34da32c4 )
> > 
> > -> "it is undefined behavior if 'defined' appears in a macro expansion" <-
> > 
> > So? Whats the correct solution here?
> > And yes, I agree the warnings ARE annoying.
> > 
> > But I would like to hear a second opinion here :)
> 
> Michael Pyne wrote:
>     IIRC when I was trying to filter out these warnings to debug some Clang issues, the define flags in question are always non-zero if they are defined at all. So it might be possible to replace #if with #ifdef instead.

The other option is add something like

#if !defined(SOMETHING)
#define SOMETHING 0
#endif

this is common pattern in other (non-kde) projects.


- Jiří


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/113189/#review41489
-----------------------------------------------------------


On Oct. 10, 2013, 10:52 a.m., Jiří Pinkava wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/113189/
> -----------------------------------------------------------
> 
> (Updated Oct. 10, 2013, 10:52 a.m.)
> 
> 
> Review request for kdelibs.
> 
> 
> Repository: kdelibs
> 
> 
> Description
> -------
> 
> There is a lot of warning noise in kdelibs build, this decreases number of warnings a lot.
> 
> I have 'git grep'ped the code and checked all usages, and found no problem.
> 
> Tested by compile/usage. 
> 
> 
> Diffs
> -----
> 
>   kjs/wtf/Platform.h 843cfd2 
> 
> Diff: http://git.reviewboard.kde.org/r/113189/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Jiří Pinkava
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20131012/d13c3c22/attachment.htm>


More information about the kde-core-devel mailing list