https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71657
--- Comment #5 from Anton Mitrokhin <anton.mitrokhin at phystech dot edu> --- I have compiled this test case in several ways The first two emit no warnings and fail as described: > g++ -Wall -Wextra -std=c++11 -static-libgcc -static-libstdc++ -Ofast > -march=westmere -o out crash_init.cpp crash_main.cpp > g++ -Wall -Wextra -fno-strict-aliasing -fwrapv > -fno-aggressive-loop-optimizations -std=c++11 -static-libgcc > -static-libstdc++ -Ofast -march=westmere -o out crash_init.cpp crash_main.cpp The clang sanitizers are also silent on runtime: > clang++ -Wall -Wextra -fsanitize=undefined -std=c++11 -O2 -o out > crash_init.cpp crash_main.cpp > clang++ -Wall -Wextra -fsanitize=memory -std=c++11 -O2 -o out crash_init.cpp > crash_main.cpp > clang++ -Wall -Wextra -fsanitize=address -std=c++11 -O2 -o out crash_init.cpp > crash_main.cpp The versions with GLIBCXX_DEBUG do not fail: > g++ -Wall -Wextra -D_GLIBCXX_DEBUG -std=c++11 -static-libgcc > -static-libstdc++ -Ofast -march=westmere -o out crash_init.cpp crash_main.cpp > g++ -Wall -Wextra -D_GLIBCXX_DEBUG -fno-strict-aliasing -fwrapv > -fno-aggressive-loop-optimizations -std=c++11 -static-libgcc > -static-libstdc++ -Ofast -march=westmere -o out crash_init.cpp crash_main.cpp The test case is not that big, and it contains only 3 arrays, only one of which can emit that kind of an error. This code is easy-checkable by hand and it looks like it *should* work.