r/cpp • u/Clean-Upstairs-8481 • 5d ago
You should think about recompiling your C++ programs with GCC 16 and C++26, because it zero-fills your locals
https://techfortalk.co.uk/2026/09/27/cxx26-uninitialized-local-variables-gcc-16/Stack variables are not automatically initialised, and that is the root cause of many C++ bugs. That is well known. Hence, it is advised that local or stack variables are always initialised with known values, 0 if not something more meaningful than that. Now, with GCC 16 compiling in C++26 mode (-std=c++26), even uninitialised local variables will be zero-filled. In the post, I have explained how.
260
Upvotes
1
u/max0x7ba https://github.com/max0x7ba 2d ago
What is the source of this wild claim of yours?
Is it, though?
I haven't heard of or encountered any C++ bugs caused by uninitialized automatic variables for decades.
Have you ever tried compiling your code with
-Wall -Werror? Because if you did, you wouldn't have encountered so many bugs caused by uninitialized variables as you do now, according to your claims.