mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 16:02:56 +00:00
modified include/reactos/libs/pseh/pseh2.h
Make SF_FramePointer field of _SEHFrame_t volatile, too, just to be safe Unoptimized compilation doesn't perform const-folding - "static const" could result in compilation errors, use just "const" Renamed _SEH2_GetExceptionPointers to _SEH2_GetExceptionInformation to be closer to the "standard" SEH syntax modified lib/pseh/framebased-gcchack.c Clobber the register that's actually used svn path=/trunk/; revision=37570
This commit is contained in:
parent
29fc9d57c7
commit
7d4a8b9e1c
2 changed files with 4 additions and 4 deletions
|
@ -122,7 +122,7 @@ typedef struct __SEHFrame
|
|||
{
|
||||
_SEHRegistration_t SF_Registration;
|
||||
volatile struct __SEHTryLevel * volatile SF_TopTryLevel;
|
||||
void * SF_FramePointer;
|
||||
void * volatile SF_FramePointer;
|
||||
void * volatile SF_StackPointer;
|
||||
volatile unsigned long SF_Code;
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ _SEHTryLevel_t;
|
|||
\
|
||||
_SEHBeginScope: __SEH_SIDE_EFFECT; \
|
||||
\
|
||||
static const int _SEHTopTryLevel = (_SEHScopeKind != 0); \
|
||||
const int _SEHTopTryLevel = (_SEHScopeKind != 0); \
|
||||
_SEHFrame_t * const _SEHCurFrameP = _SEHFrameP; \
|
||||
volatile _SEHTryLevel_t * const _SEHPrevTryLevelP = _SEHTryLevelP; \
|
||||
\
|
||||
|
@ -342,7 +342,7 @@ _SEHTryLevel_t;
|
|||
} \
|
||||
__SEH_END_SCOPE;
|
||||
|
||||
#define _SEH2_GetExceptionPointers() ((struct _EXCEPTION_POINTERS *)_SEHExceptionPointers)
|
||||
#define _SEH2_GetExceptionInformation() ((struct _EXCEPTION_POINTERS *)_SEHExceptionPointers)
|
||||
#define _SEH2_GetExceptionCode() ((_SEHFrameP)->SF_Code)
|
||||
|
||||
#define _SEH2_YIELD(STMT_) \
|
||||
|
|
|
@ -154,7 +154,7 @@ void __cdecl _SEH2LeaveFrame()
|
|||
"movl %%edx, %%fs:0\n" :
|
||||
:
|
||||
:
|
||||
"ecx"
|
||||
"edx"
|
||||
);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue