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