Если вы не можете или не хотите отключать оптимизацию, вы можете попробовать объявить переменную как volatile .Этого обычно достаточно, чтобы ваш компилятор сохранил переменную в конечном коде.
Кроме того, в последних версиях GCC вы можете отключить оптимизацию только для функции, например:
void my_function() __attribute__((optimize(0)))
{
int x = floor(sqrt(3));
}