Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
7d98599d
Commit
7d98599d
authored
Dec 15, 2006
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Implemented __CxxLongjmpUnwind.
parent
8592c4b8
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
2 deletions
+16
-2
cppexcept.c
dlls/msvcrt/cppexcept.c
+14
-0
except.c
dlls/msvcrt/except.c
+1
-1
msvcrt.spec
dlls/msvcrt/msvcrt.spec
+1
-1
No files found.
dlls/msvcrt/cppexcept.c
View file @
7d98599d
...
...
@@ -469,3 +469,17 @@ unsigned int CDECL __CxxQueryExceptionSize(void)
{
return
sizeof
(
cxx_exception_type
);
}
/*********************************************************************
* __CxxLongjmpUnwind (MSVCRT.@)
*
* Callback meant to be used as UnwindFunc for setjmp/longjmp.
*/
void
__stdcall
__CxxLongjmpUnwind
(
const
struct
MSVCRT___JUMP_BUFFER
*
buf
)
{
cxx_exception_frame
*
frame
=
(
cxx_exception_frame
*
)
buf
->
Registration
;
const
cxx_function_descr
*
descr
=
(
const
cxx_function_descr
*
)
buf
->
UnwindData
[
0
];
TRACE
(
"unwinding frame %p descr %p trylevel %ld
\n
"
,
frame
,
descr
,
buf
->
TryLevel
);
cxx_local_unwind
(
frame
,
descr
,
buf
->
TryLevel
);
}
dlls/msvcrt/except.c
View file @
7d98599d
...
...
@@ -259,7 +259,7 @@ int CDECL _abnormal_termination(void)
#ifdef __i386__
#define MSVCRT_JMP_MAGIC 0x56433230
/* ID value for new jump structure */
typedef
void
(
*
MSVCRT_unwind_function
)(
const
void
*
);
typedef
void
(
__stdcall
*
MSVCRT_unwind_function
)(
const
struct
MSVCRT___JUMP_BUFFER
*
);
/* define an entrypoint for setjmp/setjmp3 that stores the registers in the jmp buf */
/* and then jumps to the C backend function */
...
...
dlls/msvcrt/msvcrt.spec
View file @
7d98599d
...
...
@@ -76,7 +76,7 @@
@ cdecl _Strftime(str long str ptr ptr)
@ cdecl _XcptFilter(long ptr)
@ cdecl -i386 -norelay __CxxFrameHandler(ptr ptr ptr ptr)
@ st
ub __CxxLongjmpUnwind #(ptr) stdcall
@ st
dcall __CxxLongjmpUnwind(ptr)
@ cdecl __RTCastToVoid(ptr) MSVCRT___RTCastToVoid
@ cdecl __RTDynamicCast(ptr long ptr ptr long) MSVCRT___RTDynamicCast
@ cdecl __RTtypeid(ptr) MSVCRT___RTtypeid
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment