mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-31 04:13:37 +00:00
[PSEH3]
Apply the same mechanism to prevent inlining SEH using functions that was already applied to PSEH2. svn path=/trunk/; revision=58059
This commit is contained in:
@@ -45,6 +45,9 @@ typedef struct _SEH3$_REGISTRATION_FRAME
|
||||
|
||||
} SEH3$_REGISTRATION_FRAME ,*PSEH3$_REGISTRATION_FRAME;
|
||||
|
||||
/* Prevent gcc from inlining functions that use SEH. */
|
||||
static inline __attribute__((always_inline)) __attribute__((returns_twice)) void _SEH3$_PreventInlining() {}
|
||||
|
||||
extern inline __attribute__((always_inline,gnu_inline))
|
||||
void _SEH3$_UnregisterFrame(volatile SEH3$_REGISTRATION_FRAME *RegistrationFrame)
|
||||
{
|
||||
@@ -174,6 +177,7 @@ void * __cdecl __attribute__((error("Can only be used inside an exception filter
|
||||
|
||||
|
||||
#define _SEH3_TRY \
|
||||
_SEH3$_PreventInlining(); \
|
||||
/* Enter the outer scope */ \
|
||||
do { \
|
||||
/* Declare local labels */ \
|
||||
|
||||
Reference in New Issue
Block a user