> Дрянь же все эти ASAN.
> Потому что плохо сочетаются с языком.В смысле? Чего там сочетаться должно? Оно всего лишь компиляется несколько иначе, с другими либами, и в рантайме чекает всевозможные дурные ситуации. Ну и да, оно конечно просаживает скорость и жрет RAM, как и все иные решения такого плана. Но если кто хотел безопасность любой ценой...
> А в языке явно сделано зловредно. Переполнения сложнообнаружимы и неопределённое поведение.
Да, вот специально сидели и думали как прострелить себе пятку :)
> в __builtin_add_overflow и грубо расходится с традиционным синтаксисом C).
В традиционном синтаксисе не было ничего конкретного про то как это обрабатывается. На самом деле тут свинью подложили процессоры. У них нет каких-то исключений или чего-то такого при вещах типа переполнения математики или смены знака. Всего лишь взвозится флаг в регистре состояния. Сие не было большой проблемой на 8-битных машинах, на асме, когда безопасность вообще никого не интересовала как класс, сети были чем-то из области научной фантастики. Время шло, а вот эта идея так и осталась. И самые навороченные процы все равно обезьянят это с древних 8-битников.
В чем проблема? В том что a+b в лучшем случае делается 1 асмовой командой. Но если захотеть чекать флаги, это уже несколько команд, ветвления с условием и прочая требуха. И если так сделать на каждую операцию, в результате имеется жирный код и проседание математики в разы. И если это будет в каком-нибудь сжатии или крипто... ну, блин, алгоритмы до сих пор то с asm вставками или intrinsic иной раз приходится делать, а тут еще это поднажмет.
> Вообще в C надо сказать все необходимые элементы есть.
Из си можно в принципе вылепить что угодно. Он один такой гибкий вроде бы.
> Например сигналы...
Они не часть стандарта си - это POSIX.
> longjmp...
Странная штука, но позволяет сделать ооооочень странные и ооочень годные вещи. См например чего в lwan.ws с ним изобразили.
> Но... У б людки так и продолжают совать правила с необнаружимыми переполнениями.
Я честно говоря не понимаю какая проблема в новом стандарте задефайнить определенное поведение и считать остальное багами. Чего мешает то?
> А в последние времена эти вы б л ядочные "санитайзеры".
Санитайзеры, кстати, неплохо делают свое дело. Отлавливая весьма хитрые ситуации в рантайме.