Я запустил gcc с -O3 -fdump-tree-vrp, и то, что я вижу в дампе:
std::__ostream_insert<char, std::char_traits<char> > (&cout, &"x="[0], 2);
D.20752_20 = std::basic_ostream<char>::_M_insert<long unsigned int> (&cout, 1000);
std::__ostream_insert<char, std::char_traits<char> > (D.20752_20, &" x_="[0], 4);
D.20715_22 = std::basic_ostream<char>::_M_insert<long unsigned int> (D.20752_20, 232);
, то есть оно просто вставляет константы 1000 и 232 в операторе cout!
Если я запускаю его с -O0, он ничего не выгружает, несмотря на переключатели -ftree-vrp и -ftree-ccp.
Похоже, что gcc вставляет константы до того, как он может испуститьпредупреждения ...