LINUX.ORG.RU

История изменений

Исправление xaizek, (текущая версия) :

Дык в том-то и дело что я могу (не особо могу придумать зачем, но могу). И не думаю, что компилятор будет заморачиваться анализировать весь код чтобы понять как я эту константу использую. Т.е. он создаст полноценную переменную.

После какого-то этапа у компилятора на руках use-list каждой переменной. Если в процессе оптимизаций, например, после constant folding (и других, просто эта тут просится) список пустеет, то пропадает даже смысл хранить информацию о ней и можно сразу же забыть и в объектный файл не вставлять. Так что это не сложно сделать компилятору.

Исходная версия xaizek, :

Дык в том-то и дело что я могу (не особо могу придумать зачем, но могу). И не думаю, что компилятор будет заморачиваться анализировать весь код чтобы понять как я эту константу использую. Т.е. он создаст полноценную переменную.

После какого-то этапа у компилятора на руках use-list каждой переменной. Если в процессе оптимизаций, например, после constant propagation (и других, просто эта тут просится) список пустеет, то пропадает даже смысл хранить информацию о ней и можно сразу же забыть и в объектный файл не вставлять. Так что это не сложно сделать компилятору.