Lets talk about GCC’s maybe-unitialized warning. So I have this code: double v; p.Get(k, v); SetValue(Clamp(v, 0.0, 1.0)); It works great. With optimisations disabled, it compiles nicely. With optimisations enabled, the SetValue line warns: Gauge.cpp:113:36: warning: ‘v’ may be used uninitialized in this function [-Wmaybe-uninitialized] Naively I feel like the warning shouldn’t be there. Everything here is visible to the compiler in this compilation unit. But its ok, its compiler sayi...