История изменений
Исправление alysnix, (текущая версия) :
а потому что это побочный эффект процесса трансформации исходника в оптимальный машинный/псевдо код, при условии, что выполнены базовые требования.
а тут не выполнено базовое требование оптимизации - порождать функционально эквивалентный код. функция, что раньше давала мусор, и иногда ноль, стала давать ноль всегда. варнинг тут совершенно справедлив, а выкидывание ветки - нет. либо не надо было ничего оптимизировать, либо надо было давать варнинг этапа оптимизации, типа - «если я удалю ветку с уб, вы получите неэквивалентный код». нафиг мне нужны их собственные представления о красоте кода??? и если они не могут сгенерировать код корректный(функционально эквивалентный), - они должны давать ошибку.
Зачем стандарт так диктует - а затем что невалидные программы все равно не валидны, и корректно сконпелять их нельзя в принципе.
если их нельзя корректно скомпилировать в принципе, это называется ошибка компиляции.
Исходная версия alysnix, :
а потому что это побочный эффект процесса трансформации исходника в оптимальный машинный/псевдо код, при условии, что выполнены базовые требования.
а тут не выполнено базовое требование оптимизации - порождать функционально эквивалентный код. функция, что раньше давала мусор, и иногда ноль, стала давать ноль всегда. варнинг тут совершенно справедлив, а выкидывание ветки - нет. либо не надо было ничего оптимизировать, либо надо было давать варнинг этапа оптимизации, типа - «если я удалю ветку с уб, вы получите неэквивалентный код». нафиг мне нужны их собственные представления о красоте кода??? и если они не могут сгенерировать код корректный, - они должны давать ошибку.
Зачем стандарт так диктует - а затем что невалидные программы все равно не валидны, и корректно сконпелять их нельзя в принципе.
если их нельзя корректно скомпилировать в принципе, это называется ошибка компиляции.