Hello, On Mon, 18 Nov 2024, Neal Gompa wrote:
It's also why other operating systems have frame pointers on for non-x86_32. Linux is the outlier.
Why are you saying this? Windows x64 also doesn't require one.
MSVC does not let you turn off frame pointers on x64. The flag to switch it off does nothing.
No, the flag to switch frame pointer on (/Oy-) does nothing.
https://learn.microsoft.com/en-us/cpp/build/reference/oy-frame-pointer-omiss...
On x64 it doesn't allow you to _enable_ a frame pointer when there aren't other reasons to require one (e.g. alloca). Frame pointers aren't even used without any optimization. See e.g. https://godbolt.org/z/1r8W17qo5 ('function2' requires FP, 'function' does not, and it's not using one, no matter the /O options. I've also tried random older versions and they all seem to work the same in that respect). Ciao, Michael.