Re: __attribute__ to selectively disable -Wmaybe-uninitialized

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/23/20 1:38 PM, Segher Boessenkool wrote:
Yes.  And you usually should make trivial changes to your program if the
compiler warns, even if you consider that unnecessary -- just so that
you will not miss other warnings!

No, but you can write your code so that it more obviously does not use
unitialised variables.  This is an Even Better Thing(tm).  The compiler
will understand it, but much more importantly, human readers will
understand it as well!

It's often (maybe always) possible to reorder/refactor the code as you suggest. Sometimes (maybe often) that results in convoluted logic and control flow, needlessly repeated code sections, gratuitous (possibly inline) functions, and the like. The cure being worse than the #pragma disease.


-Wmaybe-uninitialized has a LOT of false positives if you use anything
but the strictest, simplest control flow.  It's the nature of the beast.

That's the point. There will always be false positives. Sometimes the programmer *does* know more than the compiler. IMO GCC could benefit from a better way to selectively turn them off.


5. I now see something similar was requested in 2012 in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55288 but seems to have
been dismissed with a variation of #4.

It wasn't dismissed, that PR is still open.

Sorry, I was using "dismissed" colloquially. The response was dismissive, and from what I've been able to find nothing has been done in the succeeding 8 years.

But, yes, that's the nature of the open source (in general) and GCC (in particular) beast.

--
MARK
markrubn@xxxxxxxxx





[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux