История изменений
Исправление firkax, (текущая версия) :
Тут смотри что получается. Если ты уверен, что других архитектур не осталось, то «требование 2's complement» выполняется автоматически вне зависимости от спецификаций Си, и соответственно тебе не о чем беспокоиться. Если же такие архитектуры вдруг всё-таки остались или появятся новые, то данное требование эквивалентно «для этих архитектур нельзя ничего делать на нашем Си, если только вы не сделаете поверх них 2's complement виртуалку». Выглядит это крайне сомнительно, поэтому лучше всё-таки данное требование не заявлять.
Хотя, с другой стороны, наличие или отсутствие данного требования в каких бы то ни было документах всё равно ни на что не повлияет: если кто-то захочет написать Си-компилятор для такой архитектуры, он всё равно это сделает, и требование там выполняться всё равно не будет.
И есть ещё один небольшой аспект: вот пишет кто-то Си-компилятор для архитектуры с необычными отрицательными числами, решил для общего развития заодно почитать стандарт. И тут два варианта: 1) в стандарте разрешена его архитектура, но так же есть пункт про эмуляцию 2's complement при тайпкастах - вероятно он учтёт это и сделает хорошие тайпкасты, 2) в стандарте сказано что его архитектура для Си не подходит - тут уже есть шанс что раз не подходит, то читать про остальные аспекты знаковой арифметики он уже не станет и сделает всё как самому придёт в голову, то есть, возможно, и несовместимым способом. Первый вариант очевидно лучше.
Исходная версия firkax, :
Тут смотри что получается. Если ты уверен, что других архитектур не осталось, то «требование 2's complement» выполняется автоматически вне зависимости от спецификаций Си, и соответственно тебе не о чем беспокоиться. Если же такие архитектуры вдруг всё-таки остались или появятся новые, то данное требование эквивалентно «для этих архитектур нельзя ничего делать на нашем Си, если только вы не сделаете поверх них 2's complement виртуалку». Выглядит это крайне сомнительно, поэтому лучше всё-таки данное требование не заявлять. Хотя, с другой стороны, наличие или отсутствие данного требования в каких бы то ни было документах всё равно ни на что не повлияет: если кто-то захочет написать Си-компилятор для такой архитектуры, он всё равно это сделает, и требование там выполняться всё равно не будет.