From 20098719dffe837fb0e516fbb97336e9a8e3354f Mon Sep 17 00:00:00 2001 From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Fri, 4 Apr 2025 15:03:12 +0200 Subject: GH-131288: Use `_AddressOfReturnAddress` for MSVC in pycore_ceval.h (gh-131289) Use `_AddressOfReturnAddress` in `_Py_get_machine_stack_pointer` to silence MSVC warning in pycore_ceval.h for release builds. --- Include/internal/pycore_ceval.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Include/internal/pycore_ceval.h b/Include/internal/pycore_ceval.h index 044403a..c44f3a2 100644 --- a/Include/internal/pycore_ceval.h +++ b/Include/internal/pycore_ceval.h @@ -196,7 +196,7 @@ extern void _PyEval_DeactivateOpCache(void); /* --- _Py_EnterRecursiveCall() ----------------------------------------- */ -#if !_Py__has_builtin(__builtin_frame_address) +#if !_Py__has_builtin(__builtin_frame_address) && !defined(_MSC_VER) static uintptr_t return_pointer_as_int(char* p) { return (uintptr_t)p; } @@ -206,6 +206,8 @@ static inline uintptr_t _Py_get_machine_stack_pointer(void) { #if _Py__has_builtin(__builtin_frame_address) return (uintptr_t)__builtin_frame_address(0); +#elif defined(_MSC_VER) + return (uintptr_t)_AddressOfReturnAddress(); #else char here; /* Avoid compiler warning about returning stack address */ -- cgit v0.12