Author: tkreuzer Date: Tue Jan 12 21:09:38 2010 New Revision: 45053
URL: http://svn.reactos.org/svn/reactos?rev=45053&view=rev Log: [CRT] __wine_push_frame and __wine_pop_frame are only used in x86 specific code in cppexcept.c. Move them there instead of trying to implement them for other architectures.
Modified: branches/ros-amd64-bringup/reactos/lib/sdk/crt/except/cppexcept.c branches/ros-amd64-bringup/reactos/lib/sdk/crt/include/internal/wine/cppexcept.h
Modified: branches/ros-amd64-bringup/reactos/lib/sdk/crt/except/cppexcept.c URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/lib/sd... ============================================================================== --- branches/ros-amd64-bringup/reactos/lib/sdk/crt/except/cppexcept.c [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/lib/sdk/crt/except/cppexcept.c [iso-8859-1] Tue Jan 12 21:09:38 2010 @@ -38,6 +38,19 @@ PCONTEXT context, EXCEPTION_REGISTRATION_RECORD** dispatch, const cxx_function_descr *descr, EXCEPTION_REGISTRATION_RECORD* nested_frame, int nested_trylevel ); + +static inline EXCEPTION_REGISTRATION_RECORD *__wine_push_frame( EXCEPTION_REGISTRATION_RECORD *frame ) +{ + frame->Next = (struct _EXCEPTION_REGISTRATION_RECORD *)__readfsdword(0); + __writefsdword(0, (unsigned long)frame); + return frame->Next; +} + +static inline EXCEPTION_REGISTRATION_RECORD *__wine_pop_frame( EXCEPTION_REGISTRATION_RECORD *frame ) +{ + __writefsdword(0, (unsigned long)frame->Next); + return frame->Next; +}
/* call a function with a given ebp */ static inline void *call_ebp_func( void *func, void *ebp )
Modified: branches/ros-amd64-bringup/reactos/lib/sdk/crt/include/internal/wine/cppexcept.h URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/lib/sd... ============================================================================== --- branches/ros-amd64-bringup/reactos/lib/sdk/crt/include/internal/wine/cppexcept.h [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/lib/sdk/crt/include/internal/wine/cppexcept.h [iso-8859-1] Tue Jan 12 21:09:38 2010 @@ -59,32 +59,6 @@ #pragma warning(disable:4733) #endif
-static inline EXCEPTION_REGISTRATION_RECORD *__wine_push_frame( EXCEPTION_REGISTRATION_RECORD *frame ) -{ -#if defined(__i386__) - frame->Next = (struct _EXCEPTION_REGISTRATION_RECORD *)__readfsdword(0); - __writefsdword(0, (unsigned long)frame); - return frame->Next; -#else - NT_TIB *teb = (NT_TIB *)NtCurrentTeb(); - frame->Next = teb->ExceptionList; - teb->ExceptionList = frame; - return frame->Next; -#endif -} - -static inline EXCEPTION_REGISTRATION_RECORD *__wine_pop_frame( EXCEPTION_REGISTRATION_RECORD *frame ) -{ -#if defined(__i386__) - __writefsdword(0, (unsigned long)frame->Next); - return frame->Next; -#else - NT_TIB *teb = (NT_TIB *)NtCurrentTeb(); - teb->ExceptionList = frame->Next; - return frame->Next; -#endif -} - #ifdef _MSC_VER #pragma warning(pop) #endif