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
a2d3b27b
Commit
a2d3b27b
authored
Nov 20, 2023
by
Paul Gofman
Committed by
Alexandre Julliard
Nov 21, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcp110: Implement std::_Xbad_function_call().
parent
30f3a61a
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
55 additions
and
5 deletions
+55
-5
msvcp110.spec
dlls/msvcp110/msvcp110.spec
+1
-1
msvcp120.spec
dlls/msvcp120/msvcp120.spec
+1
-1
msvcp120_app.spec
dlls/msvcp120_app/msvcp120_app.spec
+1
-1
msvcp140.spec
dlls/msvcp140/msvcp140.spec
+1
-1
exception.c
dlls/msvcp90/exception.c
+50
-0
msvcp_win.spec
dlls/msvcp_win/msvcp_win.spec
+1
-1
No files found.
dlls/msvcp110/msvcp110.spec
View file @
a2d3b27b
...
@@ -1833,7 +1833,7 @@
...
@@ -1833,7 +1833,7 @@
@ cdecl ?_XLgamma@std@@YANN@Z(double) std__XLgamma_double
@ cdecl ?_XLgamma@std@@YANN@Z(double) std__XLgamma_double
@ cdecl ?_XLgamma@std@@YAOO@Z(double) std__XLgamma_double
@ cdecl ?_XLgamma@std@@YAOO@Z(double) std__XLgamma_double
@ cdecl ?_Xbad_alloc@std@@YAXXZ() _Xmem
@ cdecl ?_Xbad_alloc@std@@YAXXZ() _Xmem
@
stub ?_Xbad_function_call@std@@YAXXZ
@
cdecl ?_Xbad_function_call@std@@YAXXZ() _Xbad_function_call
@ cdecl -arch=win32 ?_Xinvalid_argument@std@@YAXPBD@Z(str) _Xinvalid_argument
@ cdecl -arch=win32 ?_Xinvalid_argument@std@@YAXPBD@Z(str) _Xinvalid_argument
@ cdecl -arch=win64 ?_Xinvalid_argument@std@@YAXPEBD@Z(str) _Xinvalid_argument
@ cdecl -arch=win64 ?_Xinvalid_argument@std@@YAXPEBD@Z(str) _Xinvalid_argument
@ cdecl -arch=win32 ?_Xlength_error@std@@YAXPBD@Z(str) _Xlength_error
@ cdecl -arch=win32 ?_Xlength_error@std@@YAXPBD@Z(str) _Xlength_error
...
...
dlls/msvcp120/msvcp120.spec
View file @
a2d3b27b
...
@@ -1794,7 +1794,7 @@
...
@@ -1794,7 +1794,7 @@
@ cdecl ?_XLgamma@std@@YANN@Z(double) std__XLgamma_double
@ cdecl ?_XLgamma@std@@YANN@Z(double) std__XLgamma_double
@ cdecl ?_XLgamma@std@@YAOO@Z(double) std__XLgamma_double
@ cdecl ?_XLgamma@std@@YAOO@Z(double) std__XLgamma_double
@ cdecl ?_Xbad_alloc@std@@YAXXZ() _Xmem
@ cdecl ?_Xbad_alloc@std@@YAXXZ() _Xmem
@
stub ?_Xbad_function_call@std@@YAXXZ
@
cdecl ?_Xbad_function_call@std@@YAXXZ() _Xbad_function_call
@ cdecl -arch=win32 ?_Xinvalid_argument@std@@YAXPBD@Z(str) _Xinvalid_argument
@ cdecl -arch=win32 ?_Xinvalid_argument@std@@YAXPBD@Z(str) _Xinvalid_argument
@ cdecl -arch=win64 ?_Xinvalid_argument@std@@YAXPEBD@Z(str) _Xinvalid_argument
@ cdecl -arch=win64 ?_Xinvalid_argument@std@@YAXPEBD@Z(str) _Xinvalid_argument
@ cdecl -arch=win32 ?_Xlength_error@std@@YAXPBD@Z(str) _Xlength_error
@ cdecl -arch=win32 ?_Xlength_error@std@@YAXPBD@Z(str) _Xlength_error
...
...
dlls/msvcp120_app/msvcp120_app.spec
View file @
a2d3b27b
...
@@ -1794,7 +1794,7 @@
...
@@ -1794,7 +1794,7 @@
@ cdecl ?_XLgamma@std@@YANN@Z(double) msvcp120.?_XLgamma@std@@YANN@Z
@ cdecl ?_XLgamma@std@@YANN@Z(double) msvcp120.?_XLgamma@std@@YANN@Z
@ cdecl ?_XLgamma@std@@YAOO@Z(double) msvcp120.?_XLgamma@std@@YAOO@Z
@ cdecl ?_XLgamma@std@@YAOO@Z(double) msvcp120.?_XLgamma@std@@YAOO@Z
@ cdecl ?_Xbad_alloc@std@@YAXXZ() msvcp120.?_Xbad_alloc@std@@YAXXZ
@ cdecl ?_Xbad_alloc@std@@YAXXZ() msvcp120.?_Xbad_alloc@std@@YAXXZ
@
stub
?_Xbad_function_call@std@@YAXXZ
@
cdecl ?_Xbad_function_call@std@@YAXXZ() msvcp120.
?_Xbad_function_call@std@@YAXXZ
@ cdecl -arch=win32 ?_Xinvalid_argument@std@@YAXPBD@Z(str) msvcp120.?_Xinvalid_argument@std@@YAXPBD@Z
@ cdecl -arch=win32 ?_Xinvalid_argument@std@@YAXPBD@Z(str) msvcp120.?_Xinvalid_argument@std@@YAXPBD@Z
@ cdecl -arch=win64 ?_Xinvalid_argument@std@@YAXPEBD@Z(str) msvcp120.?_Xinvalid_argument@std@@YAXPEBD@Z
@ cdecl -arch=win64 ?_Xinvalid_argument@std@@YAXPEBD@Z(str) msvcp120.?_Xinvalid_argument@std@@YAXPEBD@Z
@ cdecl -arch=win32 ?_Xlength_error@std@@YAXPBD@Z(str) msvcp120.?_Xlength_error@std@@YAXPBD@Z
@ cdecl -arch=win32 ?_Xlength_error@std@@YAXPBD@Z(str) msvcp120.?_Xlength_error@std@@YAXPBD@Z
...
...
dlls/msvcp140/msvcp140.spec
View file @
a2d3b27b
...
@@ -1677,7 +1677,7 @@
...
@@ -1677,7 +1677,7 @@
@ cdecl ?_XLgamma@std@@YANN@Z(double) std__XLgamma_double
@ cdecl ?_XLgamma@std@@YANN@Z(double) std__XLgamma_double
@ cdecl ?_XLgamma@std@@YAOO@Z(double) std__XLgamma_double
@ cdecl ?_XLgamma@std@@YAOO@Z(double) std__XLgamma_double
@ cdecl ?_Xbad_alloc@std@@YAXXZ() _Xmem
@ cdecl ?_Xbad_alloc@std@@YAXXZ() _Xmem
@
stub ?_Xbad_function_call@std@@YAXXZ
@
cdecl ?_Xbad_function_call@std@@YAXXZ() _Xbad_function_call
@ cdecl -arch=win32 ?_Xinvalid_argument@std@@YAXPBD@Z(str) _Xinvalid_argument
@ cdecl -arch=win32 ?_Xinvalid_argument@std@@YAXPBD@Z(str) _Xinvalid_argument
@ cdecl -arch=win64 ?_Xinvalid_argument@std@@YAXPEBD@Z(str) _Xinvalid_argument
@ cdecl -arch=win64 ?_Xinvalid_argument@std@@YAXPEBD@Z(str) _Xinvalid_argument
@ cdecl -arch=win32 ?_Xlength_error@std@@YAXPBD@Z(str) _Xlength_error
@ cdecl -arch=win32 ?_Xlength_error@std@@YAXPBD@Z(str) _Xlength_error
...
...
dlls/msvcp90/exception.c
View file @
a2d3b27b
...
@@ -68,6 +68,8 @@ extern const vtable_ptr failure_vtable;
...
@@ -68,6 +68,8 @@ extern const vtable_ptr failure_vtable;
extern
const
vtable_ptr
bad_cast_vtable
;
extern
const
vtable_ptr
bad_cast_vtable
;
/* ??_7range_error@std@@6B@ */
/* ??_7range_error@std@@6B@ */
extern
const
vtable_ptr
range_error_vtable
;
extern
const
vtable_ptr
range_error_vtable
;
/* ??_7bad_function_call@std@@6B@ */
extern
const
vtable_ptr
bad_function_call_vtable
;
/* ??0exception@@QAE@ABQBD@Z */
/* ??0exception@@QAE@ABQBD@Z */
/* ??0exception@@QEAA@AEBQEBD@Z */
/* ??0exception@@QEAA@AEBQEBD@Z */
...
@@ -875,6 +877,33 @@ range_error* __thiscall MSVCP_range_error_assign(range_error *this, const range_
...
@@ -875,6 +877,33 @@ range_error* __thiscall MSVCP_range_error_assign(range_error *this, const range_
DEFINE_RTTI_DATA2
(
range_error
,
0
,
&
runtime_error_rtti_base_descriptor
,
&
exception_rtti_base_descriptor
,
".?AVrange_error@std@@"
)
DEFINE_RTTI_DATA2
(
range_error
,
0
,
&
runtime_error_rtti_base_descriptor
,
&
exception_rtti_base_descriptor
,
".?AVrange_error@std@@"
)
DEFINE_CXX_DATA2
(
range_error
,
&
runtime_error_cxx_type_info
,
&
exception_cxx_type_info
,
MSVCP_runtime_error_dtor
)
DEFINE_CXX_DATA2
(
range_error
,
&
runtime_error_cxx_type_info
,
&
exception_cxx_type_info
,
MSVCP_runtime_error_dtor
)
#if _MSVCP_VER > 90
/* bad_function_call class data */
typedef
exception
bad_function_call
;
static
bad_function_call
*
MSVCP_bad_function_call_ctor
(
bad_function_call
*
this
)
{
static
const
char
*
name
=
"bad function call"
;
TRACE
(
"%p
\n
"
,
this
);
MSVCP_exception_ctor
(
this
,
EXCEPTION_NAME
(
name
));
this
->
vtable
=
&
bad_function_call_vtable
;
return
this
;
}
DEFINE_THISCALL_WRAPPER
(
bad_function_call_copy_ctor
,
8
)
bad_function_call
*
__thiscall
bad_function_call_copy_ctor
(
bad_function_call
*
this
,
const
bad_function_call
*
rhs
)
{
TRACE
(
"%p %p
\n
"
,
this
,
rhs
);
exception_copy_ctor
(
this
,
rhs
);
this
->
vtable
=
&
bad_function_call_vtable
;
return
this
;
}
DEFINE_RTTI_DATA1
(
bad_function_call
,
0
,
&
exception_rtti_base_descriptor
,
".?AVbad_function_call@std@@"
)
DEFINE_CXX_DATA1
(
bad_function_call
,
&
exception_cxx_type_info
,
MSVCP_exception_dtor
)
#endif
/* ?_Nomemory@std@@YAXXZ */
/* ?_Nomemory@std@@YAXXZ */
void
__cdecl
DECLSPEC_NORETURN
_Nomemory
(
void
)
void
__cdecl
DECLSPEC_NORETURN
_Nomemory
(
void
)
{
{
...
@@ -949,6 +978,19 @@ void __cdecl DECLSPEC_NORETURN _Xruntime_error(const char *str)
...
@@ -949,6 +978,19 @@ void __cdecl DECLSPEC_NORETURN _Xruntime_error(const char *str)
_CxxThrowException
(
&
e
,
&
runtime_error_cxx_type
);
_CxxThrowException
(
&
e
,
&
runtime_error_cxx_type
);
}
}
#if _MSVCP_VER > 90
/* ?_Xbad_function_call@std@@YAXXZ() */
void
__cdecl
_Xbad_function_call
(
void
)
{
exception
e
;
TRACE
(
"()
\n
"
);
MSVCP_bad_function_call_ctor
(
&
e
);
_CxxThrowException
(
&
e
,
&
bad_function_call_cxx_type
);
}
#endif
/* ?uncaught_exception@std@@YA_NXZ */
/* ?uncaught_exception@std@@YA_NXZ */
bool
__cdecl
MSVCP__uncaught_exception
(
void
)
bool
__cdecl
MSVCP__uncaught_exception
(
void
)
{
{
...
@@ -1476,6 +1518,9 @@ __ASM_BLOCK_BEGIN(exception_vtables)
...
@@ -1476,6 +1518,9 @@ __ASM_BLOCK_BEGIN(exception_vtables)
EXCEPTION_VTABLE
(
system_error
,
EXCEPTION_VTABLE
(
system_error
,
VTABLE_ADD_FUNC
(
MSVCP_failure_vector_dtor
)
VTABLE_ADD_FUNC
(
MSVCP_failure_vector_dtor
)
VTABLE_ADD_FUNC
(
MSVCP_failure_what
));
VTABLE_ADD_FUNC
(
MSVCP_failure_what
));
EXCEPTION_VTABLE
(
bad_function_call
,
VTABLE_ADD_FUNC
(
MSVCP_exception_vector_dtor
)
VTABLE_ADD_FUNC
(
MSVCP_exception_what
));
#endif
#endif
EXCEPTION_VTABLE
(
failure
,
EXCEPTION_VTABLE
(
failure
,
VTABLE_ADD_FUNC
(
MSVCP_failure_vector_dtor
)
VTABLE_ADD_FUNC
(
MSVCP_failure_vector_dtor
)
...
@@ -1486,6 +1531,7 @@ __ASM_BLOCK_BEGIN(exception_vtables)
...
@@ -1486,6 +1531,7 @@ __ASM_BLOCK_BEGIN(exception_vtables)
EXCEPTION_VTABLE
(
range_error
,
EXCEPTION_VTABLE
(
range_error
,
VTABLE_ADD_FUNC
(
MSVCP_runtime_error_vector_dtor
)
VTABLE_ADD_FUNC
(
MSVCP_runtime_error_vector_dtor
)
VTABLE_ADD_FUNC
(
MSVCP_runtime_error_what
));
VTABLE_ADD_FUNC
(
MSVCP_runtime_error_what
));
__ASM_BLOCK_END
__ASM_BLOCK_END
/* Internal: throws exception */
/* Internal: throws exception */
...
@@ -1537,6 +1583,7 @@ void init_exception(void *base)
...
@@ -1537,6 +1583,7 @@ void init_exception(void *base)
#endif
#endif
#if _MSVCP_VER > 90
#if _MSVCP_VER > 90
init_system_error_rtti
(
base
);
init_system_error_rtti
(
base
);
init_bad_function_call_rtti
(
base
);
#endif
#endif
init_failure_rtti
(
base
);
init_failure_rtti
(
base
);
init_bad_cast_rtti
(
base
);
init_bad_cast_rtti
(
base
);
...
@@ -1560,6 +1607,9 @@ void init_exception(void *base)
...
@@ -1560,6 +1607,9 @@ void init_exception(void *base)
#elif _MSVCP_VER > 100
#elif _MSVCP_VER > 100
init_system_error_cxx
(
base
);
init_system_error_cxx
(
base
);
#endif
#endif
#if _MSVCP_VER > 90
init_bad_function_call_cxx
(
base
);
#endif
init_failure_cxx
(
base
);
init_failure_cxx
(
base
);
init_range_error_cxx
(
base
);
init_range_error_cxx
(
base
);
#endif
#endif
...
...
dlls/msvcp_win/msvcp_win.spec
View file @
a2d3b27b
...
@@ -1677,7 +1677,7 @@
...
@@ -1677,7 +1677,7 @@
@ cdecl ?_XLgamma@std@@YANN@Z(double) msvcp140.?_XLgamma@std@@YANN@Z
@ cdecl ?_XLgamma@std@@YANN@Z(double) msvcp140.?_XLgamma@std@@YANN@Z
@ cdecl ?_XLgamma@std@@YAOO@Z(double) msvcp140.?_XLgamma@std@@YAOO@Z
@ cdecl ?_XLgamma@std@@YAOO@Z(double) msvcp140.?_XLgamma@std@@YAOO@Z
@ cdecl ?_Xbad_alloc@std@@YAXXZ() msvcp140.?_Xbad_alloc@std@@YAXXZ
@ cdecl ?_Xbad_alloc@std@@YAXXZ() msvcp140.?_Xbad_alloc@std@@YAXXZ
@
stub
?_Xbad_function_call@std@@YAXXZ
@
cdecl ?_Xbad_function_call@std@@YAXXZ() msvcp140.
?_Xbad_function_call@std@@YAXXZ
@ cdecl -arch=win32 ?_Xinvalid_argument@std@@YAXPBD@Z(str) msvcp140.?_Xinvalid_argument@std@@YAXPBD@Z
@ cdecl -arch=win32 ?_Xinvalid_argument@std@@YAXPBD@Z(str) msvcp140.?_Xinvalid_argument@std@@YAXPBD@Z
@ cdecl -arch=win64 ?_Xinvalid_argument@std@@YAXPEBD@Z(str) msvcp140.?_Xinvalid_argument@std@@YAXPEBD@Z
@ cdecl -arch=win64 ?_Xinvalid_argument@std@@YAXPEBD@Z(str) msvcp140.?_Xinvalid_argument@std@@YAXPEBD@Z
@ cdecl -arch=win32 ?_Xlength_error@std@@YAXPBD@Z(str) msvcp140.?_Xlength_error@std@@YAXPBD@Z
@ cdecl -arch=win32 ?_Xlength_error@std@@YAXPBD@Z(str) msvcp140.?_Xlength_error@std@@YAXPBD@Z
...
...
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