On Tue, Apr 09, 2019 at 12:33:38AM +0400, Sergey Y. Afonin wrote: > On Monday 08 April 2019, Dmitry V. Levin wrote: > > > Новая версия компилятора производит другой мусор, со стороны это выглядит > > как псевдослучайный процесс. > > Либо, в зависимости от компилятора, несовсем мусор, как практика показывает. > > > > > Утверждение "UB работало" звучит довольно странно. > > > > > > UB согласно спецификации ещё не означает же UB в рамках конкретной > > > версии компилятора? Иначе бы все UB вылезали на белый свет быстро и > > > больно, а такого не происходит. > > > > Что значит "UB в рамках конкретной версии компилятора"? > > UB - это свойство кода, а не компилятора. > > Вообще я уже кое-что почитал (и напоминаю, в этом веке я программистом не > работал, тем более на C ;-) ). UB, согласно прочитанному, это свойство > спецификации. Но некая конкретная версия компилятора вполне может какие-то > случаи обрабатывать вполне предсказуемо с точки зрения разработчика этого > самого компилятора. Да, это не переносимо, да, это может сломаться, если > разработчик компилятора передумает. Да, в целом это не хорошо. Вот как-то > так получается. Ещё разработчик компилятора иногда предлагает возможность выбрать. Например, gcc -fwrapv. -- ldv