> Without looking at the disassembly, I'd guess that MinGW gcc and > non-optimised MSVC builds restore the stack pointer from a known > location regardless of the calling convention, which should always work.
Optimized MSVC builds also restore the stack and frame pointers. But before that it tries to pop local registers saved on the stack. Bingo! My guess (but I've not compiled un-optimized to test it) is that non-optimized MSVC builds work because the compiler is reloading variables and/or being much less aggresive in caching values on registers. -- /L/e/k/t/u _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel