Было обнаружено, что компилятор может изменять даже переменные, которые специальным ключевым словом обозначены как константы.
По причине некорректной генерации кода при использовании GCC 4.9.0, разработчики ядра Linux в списке рассылки подняли вопрос о возникновении ошибки. После детального изучения проблемы и причин ее возникновения создатель ядра операционной системы Linux Линус Торвальдс объяснился в свойственной ему манере. Он определил ситуацию с генерацией кода в GCC 4.9.0 как "редкую дрянь" добавив, что ситуация на сегодняшний день предельно ясно показывает ошибку принятого решения выпустить данную версию компилятора "из детского сада".
Торвальдс выразил негодование, так как в ассемблерных листингах было установлено, что компилятор располагает функцией изменять даже переменные. Именно они обозначены специальным ключевым словом как константы, а это является неприемлемым. Интересно, что ошибка возникла в версии GCC 4.9.0, тогда как совсем недавно вышла новая версия GCC 4.9.1, в которой разработчики исправили ряд ошибок.
Подробней с письмом Торвальдса можно ознакомиться здесь.
Большой взрыв знаний каждый день в вашем телефоне