Здравствуйте, netch80, Вы писали:
N>Непонятно, почему это UB вообще ломает всё, а не только одно вычисленное выражение.
Так это же суть UB. Или ты не видел тот
пример с форматированием диска и clang?
N>Вот за такие шутки авторов gcc бить по наглым рыжим мордам.
Какой-то невероятно нелогичный выбор кого бить
Это же комитет сделал в этом месте UB.
А вот gcc наоборот сделал implementation defined вместо undefined, предоставив тот же -fno-strict-overflow. Ну или упомянутый -fwrapv с ещё более строгим поведением.
N>Ну или требовать -fwrapv в обязательные опции по умолчанию.
Ну это же легко исправляется. Собственно, всё равно же в makefile всё вот это нужно писать.
Уж лучше требуй чтобы -Wall включили, или чтобы -std= со стандартным языком включили по умолчанию (а не с той дикой смесью из нескольких стандартов и расширений, что активна по-умолчанию сейчас) — вот где боль.