http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34772
--- Comment #22 from Davi Arnaut <davi.arnaut at oracle dot com> 2011-06-27 19:15:45 UTC --- (In reply to comment #21) >> Actually, we would really like it. Currently, we have to disable it because >> most of the warnings are bogus. New _valid_ warnings are welcome. > > If you think most -Winit-self warnings are bogus, this fix cannot help you. Sorry, I wasn't talking about -Winit-self warnings. I meant that most uninitialised warnings in C++ are bogus [1]. Hence, we have to work around this by actually initializing certain variables. By initializing the variable we lose coverage by tools such as valgrind,. The self-initialization trick allow us to avoid this problem. Also, we even had a runtime "performance issue" associated with it in debug builds. A large structure (containing floats, etc) needed to be partially initialized to silence the warnings, but it caused a penalty since it was located in a hot function (ended up slowing our test suite). Anyway, point is, it would be nice to have this fixed in the early 4.x branches. 1. I believe there is a bug report about this.