In the same situation, GCC says "may be used uninitialized in this function" if you enable the warning (-Wmaybe-uninitialized), despite this being a trivial and certain case.
While I like MSVC team approach to this I don't think it's necessarily worse to just warn as long as that warning consistently work.
I mean, just add some warning options to your compiling script and you are good to go. I am getting this error from GCC very consistently and as good as compilation error in practice.
Comments
MSVC will very confidently warn on cases like this by default:
https://msdn.microsoft.com/en-us/library/axhfhh6x.aspxIn the same situation, GCC says "may be used uninitialized in this function" if you enable the warning (-Wmaybe-uninitialized), despite this being a trivial and certain case.
gcc 4.9.2 gives: warning: 'bar' is used uninitialized in this function
Maybe you are using a old version.
If you enable -Wall which you always should then this flag is automatically enabled.
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#inde...
-Wuninitialized has been broken in GCC for over a decade: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=18501
As if we needed more proof that GCC is a fucking joke...
Hey Linus, how are you doing!
While I like MSVC team approach to this I don't think it's necessarily worse to just warn as long as that warning consistently work. I mean, just add some warning options to your compiling script and you are good to go. I am getting this error from GCC very consistently and as good as compilation error in practice.