Ну не только PDP, иначе бы в языке не было UB по знаковому
переполнению, например. Оно ведь откуда? Оно от того, что в те
далёкие времена существовали компутеры, использовавшие для
отрицательных чисел не дополнительный, а обратный код. А ещё,
вроде, были архитектуры с насыщением. Соответственно получалось,
что если к 32767 прибавить 1, то на одних компах получится -32768,
на других -0, а на третьих 32767. И без проверки в рантайме
отловить такое никак, а втыкать в ядре ОС проверки на каждую операцию - харам. Вполне понятное и логичное решение. Но вот только те компутеры уже только в музее остались, а стандарт Цэ досель ужосами пугает, а пейсатели компиляторов тычут пальтсем в стандарт и изобразив непростое жало - ломают оптимизаторами работавший десятилетиями код.