Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-fonts
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
Aleksandr Isakov
wine-fonts
Commits
e35e107e
Commit
e35e107e
authored
May 26, 2015
by
Iván Matellanes
Committed by
Alexandre Julliard
May 29, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcirt: Share exceptions implementation with msvcp.
parent
e89813fe
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
181 additions
and
67 deletions
+181
-67
Makefile.in
dlls/msvcirt/Makefile.in
+3
-0
msvcirt.c
dlls/msvcirt/msvcirt.c
+19
-21
msvcirt.h
dlls/msvcirt/msvcirt.h
+25
-0
msvcirt.spec
dlls/msvcirt/msvcirt.spec
+26
-26
exception.c
dlls/msvcp90/exception.c
+97
-9
msvcrt40.spec
dlls/msvcrt40/msvcrt40.spec
+11
-11
No files found.
dlls/msvcirt/Makefile.in
View file @
e35e107e
MODULE
=
msvcirt.dll
MODULE
=
msvcirt.dll
IMPORTS
=
msvcrt
IMPORTS
=
msvcrt
EXTRADEFS
=
-D_MSVCIRT
PARENTSRC
=
../msvcp90
C_SRCS
=
\
C_SRCS
=
\
exception.c
\
msvcirt.c
msvcirt.c
dlls/msvcirt/msvcirt.c
View file @
e35e107e
...
@@ -20,6 +20,7 @@
...
@@ -20,6 +20,7 @@
#include <stdarg.h>
#include <stdarg.h>
#include "msvcirt.h"
#include "windef.h"
#include "windef.h"
#include "winbase.h"
#include "winbase.h"
#include "wine/debug.h"
#include "wine/debug.h"
...
@@ -38,27 +39,6 @@ typedef struct {
...
@@ -38,27 +39,6 @@ typedef struct {
LPVOID
VTable
;
LPVOID
VTable
;
}
class_strstreambuf
;
}
class_strstreambuf
;
#ifdef __i386__
/* thiscall functions are i386-specific */
#define THISCALL(func) __thiscall_ ## func
#define THISCALL_NAME(func) __ASM_NAME("__thiscall_" #func)
#define __thiscall __stdcall
#define DEFINE_THISCALL_WRAPPER(func,args) \
extern void THISCALL(func)(void); \
__ASM_GLOBAL_FUNC(__thiscall_ ## func, \
"popl %eax\n\t" \
"pushl %ecx\n\t" \
"pushl %eax\n\t" \
"jmp " __ASM_NAME(#func) __ASM_STDCALL(args) )
#else
/* __i386__ */
#define THISCALL(func) func
#define THISCALL_NAME(func) __ASM_NAME(#func)
#define __thiscall __cdecl
#define DEFINE_THISCALL_WRAPPER(func,args)
/* nothing */
#endif
/* __i386__ */
/******************************************************************
/******************************************************************
* ??1ios@@UAE@XZ (MSVCRTI.@)
* ??1ios@@UAE@XZ (MSVCRTI.@)
* class ios & __thiscall ios::-ios<<(void)
* class ios & __thiscall ios::-ios<<(void)
...
@@ -156,6 +136,22 @@ char * __thiscall MSVCIRT_str_sl_void(class_strstreambuf * _this)
...
@@ -156,6 +136,22 @@ char * __thiscall MSVCIRT_str_sl_void(class_strstreambuf * _this)
return
0
;
return
0
;
}
}
void
(
__cdecl
*
MSVCRT_operator_delete
)(
void
*
);
static
void
init_cxx_funcs
(
void
)
{
HMODULE
hmod
=
GetModuleHandleA
(
"msvcrt.dll"
);
if
(
sizeof
(
void
*
)
>
sizeof
(
int
))
/* 64-bit has different names */
{
MSVCRT_operator_delete
=
(
void
*
)
GetProcAddress
(
hmod
,
"??3@YAXPEAX@Z"
);
}
else
{
MSVCRT_operator_delete
=
(
void
*
)
GetProcAddress
(
hmod
,
"??3@YAXPAX@Z"
);
}
}
BOOL
WINAPI
DllMain
(
HINSTANCE
inst
,
DWORD
reason
,
LPVOID
reserved
)
BOOL
WINAPI
DllMain
(
HINSTANCE
inst
,
DWORD
reason
,
LPVOID
reserved
)
{
{
switch
(
reason
)
switch
(
reason
)
...
@@ -163,6 +159,8 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
...
@@ -163,6 +159,8 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved )
case
DLL_WINE_PREATTACH
:
case
DLL_WINE_PREATTACH
:
return
FALSE
;
/* prefer native version */
return
FALSE
;
/* prefer native version */
case
DLL_PROCESS_ATTACH
:
case
DLL_PROCESS_ATTACH
:
init_cxx_funcs
();
init_exception
(
inst
);
DisableThreadLibraryCalls
(
inst
);
DisableThreadLibraryCalls
(
inst
);
break
;
break
;
}
}
...
...
dlls/msvcirt/msvcirt.h
0 → 100644
View file @
e35e107e
/*
* Copyright 2015 Iván Matellanes
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "stdlib.h"
#include "windef.h"
#include "cxx.h"
extern
void
(
__cdecl
*
MSVCRT_operator_delete
)(
void
*
);
void
init_exception
(
void
*
);
dlls/msvcirt/msvcirt.spec
View file @
e35e107e
...
@@ -2,12 +2,12 @@
...
@@ -2,12 +2,12 @@
@ stub -arch=win64 ??0Iostream_init@@QEAA@AEAVios@@H@Z
@ stub -arch=win64 ??0Iostream_init@@QEAA@AEAVios@@H@Z
@ stub -arch=win32 ??0Iostream_init@@QAE@XZ # __thiscall Iostream_init::Iostream_init(void)
@ stub -arch=win32 ??0Iostream_init@@QAE@XZ # __thiscall Iostream_init::Iostream_init(void)
@ stub -arch=win64 ??0Iostream_init@@QEAA@XZ
@ stub -arch=win64 ??0Iostream_init@@QEAA@XZ
@ thiscall -arch=i386 ??0exception@@QAE@ABQBD@Z(ptr ptr)
msvcrt.??0exception@@QAE@ABQBD@Z
@ thiscall -arch=i386 ??0exception@@QAE@ABQBD@Z(ptr ptr)
MSVCP_exception_ctor
@ cdecl -arch=win64 ??0exception@@QEAA@AEBQEBD@Z(ptr ptr)
msvcrt.??0exception@@QEAA@AEBQEBD@Z
@ cdecl -arch=win64 ??0exception@@QEAA@AEBQEBD@Z(ptr ptr)
MSVCP_exception_ctor
@ thiscall -arch=i386 ??0exception@@QAE@ABV0@@Z(ptr ptr)
msvcrt.??0exception@@QAE@ABV0@@Z
@ thiscall -arch=i386 ??0exception@@QAE@ABV0@@Z(ptr ptr)
MSVCP_exception_copy_ctor
@ cdecl -arch=win64 ??0exception@@QEAA@AEBV0@@Z(ptr ptr)
msvcrt.??0exception@@QEAA@AEBV0@@Z
@ cdecl -arch=win64 ??0exception@@QEAA@AEBV0@@Z(ptr ptr)
MSVCP_exception_copy_ctor
@ thiscall -arch=i386 ??0exception@@QAE@XZ(ptr)
msvcrt.??0exception@@QAE@XZ
@ thiscall -arch=i386 ??0exception@@QAE@XZ(ptr)
MSVCP_exception_default_ctor
@ cdecl -arch=win64 ??0exception@@QEAA@XZ(ptr)
msvcrt.??0exception@@QEAA@XZ
@ cdecl -arch=win64 ??0exception@@QEAA@XZ(ptr)
MSVCP_exception_default_ctor
@ stub -arch=win32 ??0filebuf@@QAE@ABV0@@Z # __thiscall filebuf::filebuf(class filebuf const &)
@ stub -arch=win32 ??0filebuf@@QAE@ABV0@@Z # __thiscall filebuf::filebuf(class filebuf const &)
@ stub -arch=win64 ??0filebuf@@QEAA@AEBV0@@Z
@ stub -arch=win64 ??0filebuf@@QEAA@AEBV0@@Z
@ stub -arch=win32 ??0filebuf@@QAE@H@Z # __thiscall filebuf::filebuf(int)
@ stub -arch=win32 ??0filebuf@@QAE@H@Z # __thiscall filebuf::filebuf(int)
...
@@ -66,10 +66,10 @@
...
@@ -66,10 +66,10 @@
@ stub -arch=win64 ??0istrstream@@QEAA@PEAD@Z
@ stub -arch=win64 ??0istrstream@@QEAA@PEAD@Z
@ stub -arch=win32 ??0istrstream@@QAE@PADH@Z # __thiscall istrstream::istrstream(char *,int)
@ stub -arch=win32 ??0istrstream@@QAE@PADH@Z # __thiscall istrstream::istrstream(char *,int)
@ stub -arch=win64 ??0istrstream@@QEAA@PEADH@Z
@ stub -arch=win64 ??0istrstream@@QEAA@PEADH@Z
@
stub -arch=win32 ??0logic_error@@QAE@ABQBD@Z # __thiscall logic_error::logic_error(char const * const &)
@
thiscall -arch=win32 ??0logic_error@@QAE@ABQBD@Z(ptr ptr) MSVCP_logic_error_ctor
@
stub -arch=win64 ??0logic_error@@QEAA@AEBQEBD@Z
@
cdecl -arch=win64 ??0logic_error@@QEAA@AEBQEBD@Z(ptr ptr) MSVCP_logic_error_ctor
@
stub -arch=win32 ??0logic_error@@QAE@ABV0@@Z # __thiscall logic_error::logic_error(class logic_error const &)
@
thiscall -arch=win32 ??0logic_error@@QAE@ABV0@@Z(ptr ptr) MSVCP_logic_error_copy_ctor
@
stub -arch=win64 ??0logic_error@@QEAA@AEBV0@@Z
@
cdecl -arch=win64 ??0logic_error@@QEAA@AEBV0@@Z(ptr ptr) MSVCP_logic_error_copy_ctor
@ stub -arch=win32 ??0ofstream@@QAE@ABV0@@Z # __thiscall ofstream::ofstream(class ofstream const &)
@ stub -arch=win32 ??0ofstream@@QAE@ABV0@@Z # __thiscall ofstream::ofstream(class ofstream const &)
@ stub -arch=win64 ??0ofstream@@QEAA@AEBV0@@Z
@ stub -arch=win64 ??0ofstream@@QEAA@AEBV0@@Z
@ stub -arch=win32 ??0ofstream@@QAE@H@Z # __thiscall ofstream::ofstream(int)
@ stub -arch=win32 ??0ofstream@@QAE@H@Z # __thiscall ofstream::ofstream(int)
...
@@ -132,8 +132,8 @@
...
@@ -132,8 +132,8 @@
@ stub -arch=win64 ??0strstreambuf@@QEAA@XZ
@ stub -arch=win64 ??0strstreambuf@@QEAA@XZ
@ stub -arch=win32 ??1Iostream_init@@QAE@XZ # __thiscall Iostream_init::~Iostream_init(void)
@ stub -arch=win32 ??1Iostream_init@@QAE@XZ # __thiscall Iostream_init::~Iostream_init(void)
@ stub -arch=win64 ??1Iostream_init@@QEAA@XZ
@ stub -arch=win64 ??1Iostream_init@@QEAA@XZ
@ thiscall -arch=i386 ??1exception@@UAE@XZ(ptr)
msvcrt.??1exception@@UAE@XZ
@ thiscall -arch=i386 ??1exception@@UAE@XZ(ptr)
MSVCP_exception_dtor
@ cdecl -arch=win64 ??1exception@@UEAA@XZ(ptr)
msvcrt.??1exception@@UEAA@XZ
@ cdecl -arch=win64 ??1exception@@UEAA@XZ(ptr)
MSVCP_exception_dtor
@ stub -arch=win32 ??1filebuf@@UAE@XZ # virtual __thiscall filebuf::~filebuf(void)
@ stub -arch=win32 ??1filebuf@@UAE@XZ # virtual __thiscall filebuf::~filebuf(void)
@ stub -arch=win64 ??1filebuf@@UEAA@XZ
@ stub -arch=win64 ??1filebuf@@UEAA@XZ
@ stub -arch=win32 ??1fstream@@UAE@XZ # virtual __thiscall fstream::~fstream(void)
@ stub -arch=win32 ??1fstream@@UAE@XZ # virtual __thiscall fstream::~fstream(void)
...
@@ -150,8 +150,8 @@
...
@@ -150,8 +150,8 @@
@ stub -arch=win64 ??1istream_withassign@@UEAA@XZ
@ stub -arch=win64 ??1istream_withassign@@UEAA@XZ
@ stub -arch=win32 ??1istrstream@@UAE@XZ # virtual __thiscall istrstream::~istrstream(void)
@ stub -arch=win32 ??1istrstream@@UAE@XZ # virtual __thiscall istrstream::~istrstream(void)
@ stub -arch=win64 ??1istrstream@@UEAA@XZ
@ stub -arch=win64 ??1istrstream@@UEAA@XZ
@
stub -arch=win32 ??1logic_error@@UAE@XZ # virtual __thiscall logic_error::~logic_error(void)
@
thiscall -arch=win32 ??1logic_error@@UAE@XZ(ptr) MSVCP_logic_error_dtor
@
stub -arch=win64 ??1logic_error@@UEAA@XZ
@
cdecl -arch=win64 ??1logic_error@@UEAA@XZ(ptr) MSVCP_logic_error_dtor
@ stub -arch=win32 ??1ofstream@@UAE@XZ # virtual __thiscall ofstream::~ofstream(void)
@ stub -arch=win32 ??1ofstream@@UAE@XZ # virtual __thiscall ofstream::~ofstream(void)
@ stub -arch=win64 ??1ofstream@@UEAA@XZ
@ stub -arch=win64 ??1ofstream@@UEAA@XZ
@ stub -arch=win32 ??1ostream@@UAE@XZ # virtual __thiscall ostream::~ostream(void)
@ stub -arch=win32 ??1ostream@@UAE@XZ # virtual __thiscall ostream::~ostream(void)
...
@@ -172,8 +172,8 @@
...
@@ -172,8 +172,8 @@
@ stub -arch=win64 ??1strstreambuf@@UEAA@XZ
@ stub -arch=win64 ??1strstreambuf@@UEAA@XZ
@ stub -arch=win32 ??4Iostream_init@@QAEAAV0@ABV0@@Z # class Iostream_init & __thiscall Iostream_init::operator=(class Iostream_init const &)
@ stub -arch=win32 ??4Iostream_init@@QAEAAV0@ABV0@@Z # class Iostream_init & __thiscall Iostream_init::operator=(class Iostream_init const &)
@ stub -arch=win64 ??4Iostream_init@@QEAAAEAV0@AEBV0@@Z
@ stub -arch=win64 ??4Iostream_init@@QEAAAEAV0@AEBV0@@Z
@ thiscall -arch=i386 ??4exception@@QAEAAV0@ABV0@@Z(ptr ptr)
msvcrt.??4exception@@QAEAAV0@ABV0@@Z
@ thiscall -arch=i386 ??4exception@@QAEAAV0@ABV0@@Z(ptr ptr)
MSVCP_exception_assign
@ cdecl -arch=win64 ??4exception@@QEAAAEAV0@AEBV0@@Z(ptr ptr)
msvcrt.??4exception@@QEAAAEAV0@AEBV0@@Z
@ cdecl -arch=win64 ??4exception@@QEAAAEAV0@AEBV0@@Z(ptr ptr)
MSVCP_exception_assign
@ stub -arch=win32 ??4filebuf@@QAEAAV0@ABV0@@Z # class filebuf & __thiscall filebuf::operator=(class filebuf const &)
@ stub -arch=win32 ??4filebuf@@QAEAAV0@ABV0@@Z # class filebuf & __thiscall filebuf::operator=(class filebuf const &)
@ stub -arch=win64 ??4filebuf@@QEAAAEAV0@AEBV0@@Z
@ stub -arch=win64 ??4filebuf@@QEAAAEAV0@AEBV0@@Z
@ stub -arch=win32 ??4fstream@@QAEAAV0@AAV0@@Z # class fstream & __thiscall fstream::operator=(class fstream &)
@ stub -arch=win32 ??4fstream@@QAEAAV0@AAV0@@Z # class fstream & __thiscall fstream::operator=(class fstream &)
...
@@ -198,8 +198,8 @@
...
@@ -198,8 +198,8 @@
@ stub -arch=win64 ??4istream_withassign@@QEAAAEAVistream@@PEAVstreambuf@@@Z
@ stub -arch=win64 ??4istream_withassign@@QEAAAEAVistream@@PEAVstreambuf@@@Z
@ stub -arch=win32 ??4istrstream@@QAEAAV0@ABV0@@Z # class istrstream & __thiscall istrstream::operator=(class istrstream const &)
@ stub -arch=win32 ??4istrstream@@QAEAAV0@ABV0@@Z # class istrstream & __thiscall istrstream::operator=(class istrstream const &)
@ stub -arch=win64 ??4istrstream@@QEAAAEAV0@AEBV0@@Z
@ stub -arch=win64 ??4istrstream@@QEAAAEAV0@AEBV0@@Z
@
stub -arch=win32 ??4logic_error@@QAEAAV0@ABV0@@Z # class logic_error & __thiscall logic_error::operator=(class logic_error const &)
@
thiscall -arch=win32 ??4logic_error@@QAEAAV0@ABV0@@Z(ptr ptr) MSVCP_logic_error_assign
@
stub -arch=win64 ??4logic_error@@QEAAAEAV0@AEBV0@@Z
@
cdecl -arch=win64 ??4logic_error@@QEAAAEAV0@AEBV0@@Z(ptr ptr) MSVCP_logic_error_assign
@ stub -arch=win32 ??4ofstream@@QAEAAV0@ABV0@@Z # class ofstream & __thiscall ofstream::operator=(class ofstream const &)
@ stub -arch=win32 ??4ofstream@@QAEAAV0@ABV0@@Z # class ofstream & __thiscall ofstream::operator=(class ofstream const &)
@ stub -arch=win64 ??4ofstream@@QEAAAEAV0@AEBV0@@Z
@ stub -arch=win64 ??4ofstream@@QEAAAEAV0@AEBV0@@Z
@ stub -arch=win32 ??4ostream@@IAEAAV0@ABV0@@Z # class ostream & __thiscall ostream::operator=(class ostream const &)
@ stub -arch=win32 ??4ostream@@IAEAAV0@ABV0@@Z # class ostream & __thiscall ostream::operator=(class ostream const &)
...
@@ -302,7 +302,7 @@
...
@@ -302,7 +302,7 @@
@ stub -arch=win64 ??7ios@@QEBAHXZ
@ stub -arch=win64 ??7ios@@QEBAHXZ
@ stub -arch=win32 ??Bios@@QBEPAXXZ # __thiscall ios::operator void *(void)const
@ stub -arch=win32 ??Bios@@QBEPAXXZ # __thiscall ios::operator void *(void)const
@ stub -arch=win64 ??Bios@@QEBAPEAXXZ
@ stub -arch=win64 ??Bios@@QEBAPEAXXZ
@ extern ??_7exception@@6B@
msvcrt.??_7exception@@6B@
@ extern ??_7exception@@6B@
MSVCP_exception_vtable
# @ extern ??_7filebuf@@6B@ # const filebuf::`vftable'
# @ extern ??_7filebuf@@6B@ # const filebuf::`vftable'
# @ extern ??_7fstream@@6B@ # const fstream::`vftable'
# @ extern ??_7fstream@@6B@ # const fstream::`vftable'
# @ extern ??_7ifstream@@6B@ # const ifstream::`vftable'
# @ extern ??_7ifstream@@6B@ # const ifstream::`vftable'
...
@@ -311,7 +311,7 @@
...
@@ -311,7 +311,7 @@
# @ extern ??_7istream@@6B@ # const istream::`vftable'
# @ extern ??_7istream@@6B@ # const istream::`vftable'
# @ extern ??_7istream_withassign@@6B@ # const istream_withassign::`vftable'
# @ extern ??_7istream_withassign@@6B@ # const istream_withassign::`vftable'
# @ extern ??_7istrstream@@6B@ # const istrstream::`vftable'
# @ extern ??_7istrstream@@6B@ # const istrstream::`vftable'
# @ extern ??_7logic_error@@6B@ # const logic_error::`vftable'
@ extern ??_7logic_error@@6B@ MSVCP_logic_error_vtable
# @ extern ??_7ofstream@@6B@ # const ofstream::`vftable'
# @ extern ??_7ofstream@@6B@ # const ofstream::`vftable'
# @ extern ??_7ostream@@6B@ # const ostream::`vftable'
# @ extern ??_7ostream@@6B@ # const ostream::`vftable'
# @ extern ??_7ostream_withassign@@6B@ # const ostream_withassign::`vftable'
# @ extern ??_7ostream_withassign@@6B@ # const ostream_withassign::`vftable'
...
@@ -361,7 +361,7 @@
...
@@ -361,7 +361,7 @@
@ stub -arch=win64 ??_Dstdiostream@@QEAAXXZ
@ stub -arch=win64 ??_Dstdiostream@@QEAAXXZ
@ stub -arch=win32 ??_Dstrstream@@QAEXXZ # void __thiscall strstream::`vbase destructor'(void)
@ stub -arch=win32 ??_Dstrstream@@QAEXXZ # void __thiscall strstream::`vbase destructor'(void)
@ stub -arch=win64 ??_Dstrstream@@QEAAXXZ
@ stub -arch=win64 ??_Dstrstream@@QEAAXXZ
@ thiscall -arch=win32 ??_Eexception@@UAEPAXI@Z(ptr long)
msvcrt.??_Eexception@@UAEPAXI@Z # virtual void * __thiscall exception::`vector deleting destructor'(unsigned int)
@ thiscall -arch=win32 ??_Eexception@@UAEPAXI@Z(ptr long)
MSVCP_exception_vector_dtor
@ stub -arch=win32 ??_Efilebuf@@UAEPAXI@Z # virtual void * __thiscall filebuf::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Efilebuf@@UAEPAXI@Z # virtual void * __thiscall filebuf::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Efstream@@UAEPAXI@Z # virtual void * __thiscall fstream::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Efstream@@UAEPAXI@Z # virtual void * __thiscall fstream::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eifstream@@UAEPAXI@Z # virtual void * __thiscall ifstream::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eifstream@@UAEPAXI@Z # virtual void * __thiscall ifstream::`vector deleting destructor'(unsigned int)
...
@@ -370,7 +370,7 @@
...
@@ -370,7 +370,7 @@
@ stub -arch=win32 ??_Eistream@@UAEPAXI@Z # virtual void * __thiscall istream::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eistream@@UAEPAXI@Z # virtual void * __thiscall istream::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eistream_withassign@@UAEPAXI@Z # virtual void * __thiscall istream_withassign::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eistream_withassign@@UAEPAXI@Z # virtual void * __thiscall istream_withassign::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eistrstream@@UAEPAXI@Z # virtual void * __thiscall istrstream::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eistrstream@@UAEPAXI@Z # virtual void * __thiscall istrstream::`vector deleting destructor'(unsigned int)
@
stub -arch=win32 ??_Elogic_error@@UAEPAXI@Z # virtual void * __thiscall logic_error::`vector deleting destructor'(unsigned int)
@
thiscall -arch=win32 ??_Elogic_error@@UAEPAXI@Z(ptr long) MSVCP_logic_error_vector_dtor
@ stub -arch=win32 ??_Eofstream@@UAEPAXI@Z # virtual void * __thiscall ofstream::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eofstream@@UAEPAXI@Z # virtual void * __thiscall ofstream::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eostream@@UAEPAXI@Z # virtual void * __thiscall ostream::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eostream@@UAEPAXI@Z # virtual void * __thiscall ostream::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eostream_withassign@@UAEPAXI@Z # virtual void * __thiscall ostream_withassign::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eostream_withassign@@UAEPAXI@Z # virtual void * __thiscall ostream_withassign::`vector deleting destructor'(unsigned int)
...
@@ -380,7 +380,7 @@
...
@@ -380,7 +380,7 @@
@ stub -arch=win32 ??_Estreambuf@@UAEPAXI@Z # virtual void * __thiscall streambuf::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Estreambuf@@UAEPAXI@Z # virtual void * __thiscall streambuf::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Estrstream@@UAEPAXI@Z # virtual void * __thiscall strstream::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Estrstream@@UAEPAXI@Z # virtual void * __thiscall strstream::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Estrstreambuf@@UAEPAXI@Z # virtual void * __thiscall strstreambuf::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Estrstreambuf@@UAEPAXI@Z # virtual void * __thiscall strstreambuf::`vector deleting destructor'(unsigned int)
@ thiscall -arch=win32 ??_Gexception@@UAEPAXI@Z(ptr long)
msvcrt.??_Gexception@@UAEPAXI@Z # virtual void * __thiscall exception::`scalar deleting destructor'(unsigned int)
@ thiscall -arch=win32 ??_Gexception@@UAEPAXI@Z(ptr long)
MSVCP_exception_scalar_dtor
@ stub -arch=win32 ??_Gfilebuf@@UAEPAXI@Z # virtual void * __thiscall filebuf::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gfilebuf@@UAEPAXI@Z # virtual void * __thiscall filebuf::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gfstream@@UAEPAXI@Z # virtual void * __thiscall fstream::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gfstream@@UAEPAXI@Z # virtual void * __thiscall fstream::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gifstream@@UAEPAXI@Z # virtual void * __thiscall ifstream::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gifstream@@UAEPAXI@Z # virtual void * __thiscall ifstream::`scalar deleting destructor'(unsigned int)
...
@@ -389,7 +389,7 @@
...
@@ -389,7 +389,7 @@
@ stub -arch=win32 ??_Gistream@@UAEPAXI@Z # virtual void * __thiscall istream::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gistream@@UAEPAXI@Z # virtual void * __thiscall istream::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gistream_withassign@@UAEPAXI@Z # virtual void * __thiscall istream_withassign::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gistream_withassign@@UAEPAXI@Z # virtual void * __thiscall istream_withassign::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gistrstream@@UAEPAXI@Z # virtual void * __thiscall istrstream::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gistrstream@@UAEPAXI@Z # virtual void * __thiscall istrstream::`scalar deleting destructor'(unsigned int)
@
stub -arch=win32 ??_Glogic_error@@UAEPAXI@Z # virtual void * __thiscall logic_error::`scalar deleting destructor'(unsigned int)
@
thiscall -arch=win32 ??_Glogic_error@@UAEPAXI@Z(ptr long) MSVCP_logic_error_scalar_dtor
@ stub -arch=win32 ??_Gofstream@@UAEPAXI@Z # virtual void * __thiscall ofstream::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gofstream@@UAEPAXI@Z # virtual void * __thiscall ofstream::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gostream@@UAEPAXI@Z # virtual void * __thiscall ostream::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gostream@@UAEPAXI@Z # virtual void * __thiscall ostream::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gostream_withassign@@UAEPAXI@Z # virtual void * __thiscall ostream_withassign::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gostream_withassign@@UAEPAXI@Z # virtual void * __thiscall ostream_withassign::`scalar deleting destructor'(unsigned int)
...
@@ -760,8 +760,8 @@
...
@@ -760,8 +760,8 @@
@ stub ?unlockc@ios@@KAXXZ # static void __cdecl ios::unlockc(void)
@ stub ?unlockc@ios@@KAXXZ # static void __cdecl ios::unlockc(void)
@ stub -arch=win32 ?unsetf@ios@@QAEJJ@Z # long __thiscall ios::unsetf(long)
@ stub -arch=win32 ?unsetf@ios@@QAEJJ@Z # long __thiscall ios::unsetf(long)
@ stub -arch=win64 ?unsetf@ios@@QEAAJJ@Z
@ stub -arch=win64 ?unsetf@ios@@QEAAJJ@Z
@ thiscall -arch=i386 ?what@exception@@UBEPBDXZ(ptr)
msvcrt.?what@exception@@UBEPBDXZ
@ thiscall -arch=i386 ?what@exception@@UBEPBDXZ(ptr)
MSVCP_exception_what
@ cdecl -arch=win64 ?what@exception@@UEBAPEBDXZ(ptr)
msvcrt.?what@exception@@UEBAPEBDXZ
@ cdecl -arch=win64 ?what@exception@@UEBAPEBDXZ(ptr)
MSVCP_exception_what
@ stub -arch=win32 ?width@ios@@QAEHH@Z # int __thiscall ios::width(int)
@ stub -arch=win32 ?width@ios@@QAEHH@Z # int __thiscall ios::width(int)
@ stub -arch=win64 ?width@ios@@QEAAHH@Z
@ stub -arch=win64 ?width@ios@@QEAAHH@Z
@ stub -arch=win32 ?width@ios@@QBEHXZ # int __thiscall ios::width(void)const
@ stub -arch=win32 ?width@ios@@QBEHXZ # int __thiscall ios::width(void)const
...
...
dlls/msvcp90/exception.c
View file @
e35e107e
...
@@ -21,7 +21,6 @@
...
@@ -21,7 +21,6 @@
#include <stdarg.h>
#include <stdarg.h>
#include "msvcp90.h"
#include "msvcp90.h"
#include "windef.h"
#include "windef.h"
#include "winbase.h"
#include "winbase.h"
#include "wine/debug.h"
#include "wine/debug.h"
...
@@ -32,7 +31,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(msvcp);
...
@@ -32,7 +31,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(msvcp);
void
WINAPI
_CxxThrowException
(
exception
*
,
const
cxx_exception_type
*
);
void
WINAPI
_CxxThrowException
(
exception
*
,
const
cxx_exception_type
*
);
#if _MSVCP_VER >= 70
#if _MSVCP_VER >= 70
|| defined(_MSVCIRT)
typedef
const
char
**
exception_name
;
typedef
const
char
**
exception_name
;
#define EXCEPTION_STR(name) (*name)
#define EXCEPTION_STR(name) (*name)
#define EXCEPTION_NAME(str) ((exception_name)&str)
#define EXCEPTION_NAME(str) ((exception_name)&str)
...
@@ -87,7 +86,10 @@ void * __thiscall MSVCP_type_info_vector_dtor(type_info * _this, unsigned int fl
...
@@ -87,7 +86,10 @@ void * __thiscall MSVCP_type_info_vector_dtor(type_info * _this, unsigned int fl
DEFINE_RTTI_DATA0
(
type_info
,
0
,
".?AVtype_info@@"
)
DEFINE_RTTI_DATA0
(
type_info
,
0
,
".?AVtype_info@@"
)
static
exception
*
MSVCP_exception_ctor
(
exception
*
this
,
exception_name
name
)
/* ??0exception@@QAE@ABQBD@Z */
/* ??0exception@@QEAA@AEBQEBD@Z */
DEFINE_THISCALL_WRAPPER
(
MSVCP_exception_ctor
,
8
)
exception
*
__thiscall
MSVCP_exception_ctor
(
exception
*
this
,
exception_name
name
)
{
{
TRACE
(
"(%p %s)
\n
"
,
this
,
EXCEPTION_STR
(
name
));
TRACE
(
"(%p %s)
\n
"
,
this
,
EXCEPTION_STR
(
name
));
...
@@ -119,6 +121,18 @@ exception* __thiscall MSVCP_exception_copy_ctor(exception *this, const exception
...
@@ -119,6 +121,18 @@ exception* __thiscall MSVCP_exception_copy_ctor(exception *this, const exception
return
this
;
return
this
;
}
}
/* ??0exception@@QAE@XZ */
/* ??0exception@@QEAA@XZ */
DEFINE_THISCALL_WRAPPER
(
MSVCP_exception_default_ctor
,
4
)
exception
*
__thiscall
MSVCP_exception_default_ctor
(
exception
*
this
)
{
TRACE
(
"(%p)
\n
"
,
this
);
this
->
vtable
=
&
MSVCP_exception_vtable
;
this
->
name
=
NULL
;
this
->
do_free
=
FALSE
;
return
this
;
}
DEFINE_THISCALL_WRAPPER
(
MSVCP_exception_dtor
,
4
)
DEFINE_THISCALL_WRAPPER
(
MSVCP_exception_dtor
,
4
)
void
__thiscall
MSVCP_exception_dtor
(
exception
*
this
)
void
__thiscall
MSVCP_exception_dtor
(
exception
*
this
)
{
{
...
@@ -148,8 +162,24 @@ void * __thiscall MSVCP_exception_vector_dtor(exception *this, unsigned int flag
...
@@ -148,8 +162,24 @@ void * __thiscall MSVCP_exception_vector_dtor(exception *this, unsigned int flag
return
this
;
return
this
;
}
}
DEFINE_RTTI_DATA0
(
exception
,
0
,
".?AVexception@std@@"
)
/* ??_Gexception@@UAEPAXI@Z */
DEFINE_CXX_DATA0
(
exception
,
MSVCP_exception_dtor
)
DEFINE_THISCALL_WRAPPER
(
MSVCP_exception_scalar_dtor
,
8
)
void
*
__thiscall
MSVCP_exception_scalar_dtor
(
exception
*
this
,
unsigned
int
flags
)
{
TRACE
(
"(%p %x)
\n
"
,
this
,
flags
);
MSVCP_exception_dtor
(
this
);
if
(
flags
&
1
)
MSVCRT_operator_delete
(
this
);
return
this
;
}
/* ??4exception@@QAEAAV0@ABV0@@Z */
/* ??4exception@@QEAAAEAV0@AEBV0@@Z */
DEFINE_THISCALL_WRAPPER
(
MSVCP_exception_assign
,
8
)
exception
*
__thiscall
MSVCP_exception_assign
(
exception
*
this
,
const
exception
*
assign
)
{
MSVCP_exception_dtor
(
this
);
return
MSVCP_exception_copy_ctor
(
this
,
assign
);
}
/* ?_Doraise@bad_alloc@std@@MBEXXZ */
/* ?_Doraise@bad_alloc@std@@MBEXXZ */
/* ?_Doraise@bad_alloc@std@@MEBAXXZ */
/* ?_Doraise@bad_alloc@std@@MEBAXXZ */
...
@@ -176,6 +206,13 @@ const char* __thiscall MSVCP_exception_what(exception * this)
...
@@ -176,6 +206,13 @@ const char* __thiscall MSVCP_exception_what(exception * this)
return
this
->
name
?
this
->
name
:
"Unknown exception"
;
return
this
->
name
?
this
->
name
:
"Unknown exception"
;
}
}
#ifdef _MSVCIRT
DEFINE_RTTI_DATA0
(
exception
,
0
,
".?AVexception@std@@"
)
#else
DEFINE_RTTI_DATA0
(
exception
,
0
,
".?AVexception@@"
)
#endif
DEFINE_CXX_DATA0
(
exception
,
MSVCP_exception_dtor
)
/* bad_alloc class data */
/* bad_alloc class data */
typedef
exception
bad_alloc
;
typedef
exception
bad_alloc
;
...
@@ -254,16 +291,25 @@ DEFINE_CXX_DATA1(bad_alloc, &exception_cxx_type_info, MSVCP_bad_alloc_dtor)
...
@@ -254,16 +291,25 @@ DEFINE_CXX_DATA1(bad_alloc, &exception_cxx_type_info, MSVCP_bad_alloc_dtor)
/* logic_error class data */
/* logic_error class data */
typedef
struct
{
typedef
struct
{
exception
e
;
exception
e
;
#ifndef _MSVCIRT
basic_string_char
str
;
basic_string_char
str
;
#endif
}
logic_error
;
}
logic_error
;
static
logic_error
*
MSVCP_logic_error_ctor
(
logic_error
*
this
,
exception_name
name
)
/* ??0logic_error@@QAE@ABQBD@Z */
/* ??0logic_error@@QEAA@AEBQEBD@Z */
DEFINE_THISCALL_WRAPPER
(
MSVCP_logic_error_ctor
,
8
)
logic_error
*
__thiscall
MSVCP_logic_error_ctor
(
logic_error
*
this
,
exception_name
name
)
{
{
TRACE
(
"%p %s
\n
"
,
this
,
EXCEPTION_STR
(
name
));
TRACE
(
"%p %s
\n
"
,
this
,
EXCEPTION_STR
(
name
));
this
->
e
.
vtable
=
&
MSVCP_logic_error_vtable
;
#ifdef _MSVCIRT
MSVCP_exception_ctor
(
&
this
->
e
,
name
);
#else
this
->
e
.
name
=
NULL
;
this
->
e
.
name
=
NULL
;
this
->
e
.
do_free
=
FALSE
;
this
->
e
.
do_free
=
FALSE
;
MSVCP_basic_string_char_ctor_cstr
(
&
this
->
str
,
EXCEPTION_STR
(
name
));
MSVCP_basic_string_char_ctor_cstr
(
&
this
->
str
,
EXCEPTION_STR
(
name
));
#endif
this
->
e
.
vtable
=
&
MSVCP_logic_error_vtable
;
return
this
;
return
this
;
}
}
...
@@ -275,13 +321,16 @@ logic_error* __thiscall MSVCP_logic_error_copy_ctor(
...
@@ -275,13 +321,16 @@ logic_error* __thiscall MSVCP_logic_error_copy_ctor(
{
{
TRACE
(
"%p %p
\n
"
,
this
,
rhs
);
TRACE
(
"%p %p
\n
"
,
this
,
rhs
);
MSVCP_exception_copy_ctor
(
&
this
->
e
,
&
rhs
->
e
);
MSVCP_exception_copy_ctor
(
&
this
->
e
,
&
rhs
->
e
);
#ifndef _MSVCIRT
MSVCP_basic_string_char_copy_ctor
(
&
this
->
str
,
&
rhs
->
str
);
MSVCP_basic_string_char_copy_ctor
(
&
this
->
str
,
&
rhs
->
str
);
#endif
this
->
e
.
vtable
=
&
MSVCP_logic_error_vtable
;
this
->
e
.
vtable
=
&
MSVCP_logic_error_vtable
;
return
this
;
return
this
;
}
}
/* ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
/* ??0logic_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
/* ??0logic_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
/* ??0logic_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
#ifndef _MSVCIRT
DEFINE_THISCALL_WRAPPER
(
MSVCP_logic_error_ctor_bstr
,
8
)
DEFINE_THISCALL_WRAPPER
(
MSVCP_logic_error_ctor_bstr
,
8
)
logic_error
*
__thiscall
MSVCP_logic_error_ctor_bstr
(
logic_error
*
this
,
const
basic_string_char
*
str
)
logic_error
*
__thiscall
MSVCP_logic_error_ctor_bstr
(
logic_error
*
this
,
const
basic_string_char
*
str
)
{
{
...
@@ -289,6 +338,7 @@ logic_error* __thiscall MSVCP_logic_error_ctor_bstr(logic_error *this, const bas
...
@@ -289,6 +338,7 @@ logic_error* __thiscall MSVCP_logic_error_ctor_bstr(logic_error *this, const bas
TRACE
(
"(%p %p %s)
\n
"
,
this
,
str
,
name
);
TRACE
(
"(%p %p %s)
\n
"
,
this
,
str
,
name
);
return
MSVCP_logic_error_ctor
(
this
,
EXCEPTION_NAME
(
name
));
return
MSVCP_logic_error_ctor
(
this
,
EXCEPTION_NAME
(
name
));
}
}
#endif
/* ??1logic_error@std@@UAE@XZ */
/* ??1logic_error@std@@UAE@XZ */
/* ??1logic_error@std@@UEAA@XZ */
/* ??1logic_error@std@@UEAA@XZ */
...
@@ -301,7 +351,9 @@ void __thiscall MSVCP_logic_error_dtor(logic_error *this)
...
@@ -301,7 +351,9 @@ void __thiscall MSVCP_logic_error_dtor(logic_error *this)
{
{
TRACE
(
"%p
\n
"
,
this
);
TRACE
(
"%p
\n
"
,
this
);
MSVCP_exception_dtor
(
&
this
->
e
);
MSVCP_exception_dtor
(
&
this
->
e
);
#ifndef _MSVCIRT
MSVCP_basic_string_char_dtor
(
&
this
->
str
);
MSVCP_basic_string_char_dtor
(
&
this
->
str
);
#endif
}
}
DEFINE_THISCALL_WRAPPER
(
MSVCP_logic_error_vector_dtor
,
8
)
DEFINE_THISCALL_WRAPPER
(
MSVCP_logic_error_vector_dtor
,
8
)
...
@@ -325,6 +377,16 @@ void* __thiscall MSVCP_logic_error_vector_dtor(
...
@@ -325,6 +377,16 @@ void* __thiscall MSVCP_logic_error_vector_dtor(
return
this
;
return
this
;
}
}
/* ??_Glogic_error@@UAEPAXI@Z */
DEFINE_THISCALL_WRAPPER
(
MSVCP_logic_error_scalar_dtor
,
8
)
void
*
__thiscall
MSVCP_logic_error_scalar_dtor
(
logic_error
*
this
,
unsigned
int
flags
)
{
TRACE
(
"(%p %x)
\n
"
,
this
,
flags
);
MSVCP_logic_error_dtor
(
this
);
if
(
flags
&
1
)
MSVCRT_operator_delete
(
this
);
return
this
;
}
/* ??4logic_error@std@@QAEAAV01@ABV01@@Z */
/* ??4logic_error@std@@QAEAAV01@ABV01@@Z */
/* ??4logic_error@std@@QEAAAEAV01@AEBV01@@Z */
/* ??4logic_error@std@@QEAAAEAV01@AEBV01@@Z */
DEFINE_THISCALL_WRAPPER
(
MSVCP_logic_error_assign
,
8
)
DEFINE_THISCALL_WRAPPER
(
MSVCP_logic_error_assign
,
8
)
...
@@ -340,10 +402,18 @@ DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_what, 4)
...
@@ -340,10 +402,18 @@ DEFINE_THISCALL_WRAPPER(MSVCP_logic_error_what, 4)
const
char
*
__thiscall
MSVCP_logic_error_what
(
logic_error
*
this
)
const
char
*
__thiscall
MSVCP_logic_error_what
(
logic_error
*
this
)
{
{
TRACE
(
"%p
\n
"
,
this
);
TRACE
(
"%p
\n
"
,
this
);
#ifdef _MSVCIRT
return
MSVCP_exception_what
(
&
this
->
e
);
#else
return
MSVCP_basic_string_char_c_str
(
&
this
->
str
);
return
MSVCP_basic_string_char_c_str
(
&
this
->
str
);
#endif
}
}
#ifdef _MSVCIRT
DEFINE_RTTI_DATA1
(
logic_error
,
0
,
&
exception_rtti_base_descriptor
,
".?AVlogic_error@std@@"
)
DEFINE_RTTI_DATA1
(
logic_error
,
0
,
&
exception_rtti_base_descriptor
,
".?AVlogic_error@std@@"
)
#else
DEFINE_RTTI_DATA1
(
logic_error
,
0
,
&
exception_rtti_base_descriptor
,
".?AVlogic_error@@"
)
#endif
DEFINE_CXX_DATA1
(
logic_error
,
&
exception_cxx_type_info
,
MSVCP_logic_error_dtor
)
DEFINE_CXX_DATA1
(
logic_error
,
&
exception_cxx_type_info
,
MSVCP_logic_error_dtor
)
/* length_error class data */
/* length_error class data */
...
@@ -371,6 +441,7 @@ length_error* __thiscall MSVCP_length_error_copy_ctor(
...
@@ -371,6 +441,7 @@ length_error* __thiscall MSVCP_length_error_copy_ctor(
/* ??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
/* ??0length_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
/* ??0length_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
/* ??0length_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
#ifndef _MSVCIRT
DEFINE_THISCALL_WRAPPER
(
MSVCP_length_error_ctor_bstr
,
8
)
DEFINE_THISCALL_WRAPPER
(
MSVCP_length_error_ctor_bstr
,
8
)
length_error
*
__thiscall
MSVCP_length_error_ctor_bstr
(
length_error
*
this
,
const
basic_string_char
*
str
)
length_error
*
__thiscall
MSVCP_length_error_ctor_bstr
(
length_error
*
this
,
const
basic_string_char
*
str
)
{
{
...
@@ -378,6 +449,7 @@ length_error* __thiscall MSVCP_length_error_ctor_bstr(length_error *this, const
...
@@ -378,6 +449,7 @@ length_error* __thiscall MSVCP_length_error_ctor_bstr(length_error *this, const
TRACE
(
"(%p %p %s)
\n
"
,
this
,
str
,
name
);
TRACE
(
"(%p %p %s)
\n
"
,
this
,
str
,
name
);
return
MSVCP_length_error_ctor
(
this
,
EXCEPTION_NAME
(
name
));
return
MSVCP_length_error_ctor
(
this
,
EXCEPTION_NAME
(
name
));
}
}
#endif
/* ??4length_error@std@@QAEAAV01@ABV01@@Z */
/* ??4length_error@std@@QAEAAV01@ABV01@@Z */
/* ??4length_error@std@@QEAAAEAV01@AEBV01@@Z */
/* ??4length_error@std@@QEAAAEAV01@AEBV01@@Z */
...
@@ -416,6 +488,7 @@ out_of_range* __thiscall MSVCP_out_of_range_copy_ctor(
...
@@ -416,6 +488,7 @@ out_of_range* __thiscall MSVCP_out_of_range_copy_ctor(
/* ??0out_of_range@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
/* ??0out_of_range@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
/* ??0out_of_range@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
/* ??0out_of_range@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
#ifndef _MSVCIRT
DEFINE_THISCALL_WRAPPER
(
MSVCP_out_of_range_ctor_bstr
,
8
)
DEFINE_THISCALL_WRAPPER
(
MSVCP_out_of_range_ctor_bstr
,
8
)
out_of_range
*
__thiscall
MSVCP_out_of_range_ctor_bstr
(
out_of_range
*
this
,
const
basic_string_char
*
str
)
out_of_range
*
__thiscall
MSVCP_out_of_range_ctor_bstr
(
out_of_range
*
this
,
const
basic_string_char
*
str
)
{
{
...
@@ -423,6 +496,7 @@ out_of_range* __thiscall MSVCP_out_of_range_ctor_bstr(out_of_range *this, const
...
@@ -423,6 +496,7 @@ out_of_range* __thiscall MSVCP_out_of_range_ctor_bstr(out_of_range *this, const
TRACE
(
"(%p %p %s)
\n
"
,
this
,
str
,
name
);
TRACE
(
"(%p %p %s)
\n
"
,
this
,
str
,
name
);
return
MSVCP_out_of_range_ctor
(
this
,
EXCEPTION_NAME
(
name
));
return
MSVCP_out_of_range_ctor
(
this
,
EXCEPTION_NAME
(
name
));
}
}
#endif
/* ??4out_of_range@std@@QAEAAV01@ABV01@@Z */
/* ??4out_of_range@std@@QAEAAV01@ABV01@@Z */
/* ??4out_of_range@std@@QEAAAEAV01@AEBV01@@Z */
/* ??4out_of_range@std@@QEAAAEAV01@AEBV01@@Z */
...
@@ -469,10 +543,14 @@ typedef struct {
...
@@ -469,10 +543,14 @@ typedef struct {
static
runtime_error
*
MSVCP_runtime_error_ctor
(
runtime_error
*
this
,
exception_name
name
)
static
runtime_error
*
MSVCP_runtime_error_ctor
(
runtime_error
*
this
,
exception_name
name
)
{
{
TRACE
(
"%p %s
\n
"
,
this
,
EXCEPTION_STR
(
name
));
TRACE
(
"%p %s
\n
"
,
this
,
EXCEPTION_STR
(
name
));
this
->
e
.
vtable
=
&
MSVCP_runtime_error_vtable
;
#ifdef _MSVCIRT
MSVCP_exception_ctor
(
&
this
->
e
,
name
);
#else
this
->
e
.
name
=
NULL
;
this
->
e
.
name
=
NULL
;
this
->
e
.
do_free
=
FALSE
;
this
->
e
.
do_free
=
FALSE
;
MSVCP_basic_string_char_ctor_cstr
(
&
this
->
str
,
EXCEPTION_STR
(
name
));
MSVCP_basic_string_char_ctor_cstr
(
&
this
->
str
,
EXCEPTION_STR
(
name
));
#endif
this
->
e
.
vtable
=
&
MSVCP_runtime_error_vtable
;
return
this
;
return
this
;
}
}
...
@@ -484,13 +562,16 @@ runtime_error* __thiscall MSVCP_runtime_error_copy_ctor(
...
@@ -484,13 +562,16 @@ runtime_error* __thiscall MSVCP_runtime_error_copy_ctor(
{
{
TRACE
(
"%p %p
\n
"
,
this
,
rhs
);
TRACE
(
"%p %p
\n
"
,
this
,
rhs
);
MSVCP_exception_copy_ctor
(
&
this
->
e
,
&
rhs
->
e
);
MSVCP_exception_copy_ctor
(
&
this
->
e
,
&
rhs
->
e
);
#ifndef _MSVCIRT
MSVCP_basic_string_char_copy_ctor
(
&
this
->
str
,
&
rhs
->
str
);
MSVCP_basic_string_char_copy_ctor
(
&
this
->
str
,
&
rhs
->
str
);
#endif
this
->
e
.
vtable
=
&
MSVCP_runtime_error_vtable
;
this
->
e
.
vtable
=
&
MSVCP_runtime_error_vtable
;
return
this
;
return
this
;
}
}
/* ??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
/* ??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
/* ??0runtime_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
/* ??0runtime_error@std@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z */
#ifndef _MSVCIRT
DEFINE_THISCALL_WRAPPER
(
MSVCP_runtime_error_ctor_bstr
,
8
)
DEFINE_THISCALL_WRAPPER
(
MSVCP_runtime_error_ctor_bstr
,
8
)
runtime_error
*
__thiscall
MSVCP_runtime_error_ctor_bstr
(
runtime_error
*
this
,
const
basic_string_char
*
str
)
runtime_error
*
__thiscall
MSVCP_runtime_error_ctor_bstr
(
runtime_error
*
this
,
const
basic_string_char
*
str
)
{
{
...
@@ -498,6 +579,7 @@ runtime_error* __thiscall MSVCP_runtime_error_ctor_bstr(runtime_error *this, con
...
@@ -498,6 +579,7 @@ runtime_error* __thiscall MSVCP_runtime_error_ctor_bstr(runtime_error *this, con
TRACE
(
"(%p %p %s)
\n
"
,
this
,
str
,
name
);
TRACE
(
"(%p %p %s)
\n
"
,
this
,
str
,
name
);
return
MSVCP_runtime_error_ctor
(
this
,
EXCEPTION_NAME
(
name
));
return
MSVCP_runtime_error_ctor
(
this
,
EXCEPTION_NAME
(
name
));
}
}
#endif
/* ??1runtime_error@std@@UAE@XZ */
/* ??1runtime_error@std@@UAE@XZ */
/* ??1runtime_error@std@@UEAA@XZ */
/* ??1runtime_error@std@@UEAA@XZ */
...
@@ -506,7 +588,9 @@ void __thiscall MSVCP_runtime_error_dtor(runtime_error *this)
...
@@ -506,7 +588,9 @@ void __thiscall MSVCP_runtime_error_dtor(runtime_error *this)
{
{
TRACE
(
"%p
\n
"
,
this
);
TRACE
(
"%p
\n
"
,
this
);
MSVCP_exception_dtor
(
&
this
->
e
);
MSVCP_exception_dtor
(
&
this
->
e
);
#ifndef _MSVCIRT
MSVCP_basic_string_char_dtor
(
&
this
->
str
);
MSVCP_basic_string_char_dtor
(
&
this
->
str
);
#endif
}
}
DEFINE_THISCALL_WRAPPER
(
MSVCP_runtime_error_vector_dtor
,
8
)
DEFINE_THISCALL_WRAPPER
(
MSVCP_runtime_error_vector_dtor
,
8
)
...
@@ -545,7 +629,11 @@ DEFINE_THISCALL_WRAPPER(MSVCP_runtime_error_what, 4)
...
@@ -545,7 +629,11 @@ DEFINE_THISCALL_WRAPPER(MSVCP_runtime_error_what, 4)
const
char
*
__thiscall
MSVCP_runtime_error_what
(
runtime_error
*
this
)
const
char
*
__thiscall
MSVCP_runtime_error_what
(
runtime_error
*
this
)
{
{
TRACE
(
"%p
\n
"
,
this
);
TRACE
(
"%p
\n
"
,
this
);
#ifdef _MSVCIRT
return
MSVCP_exception_what
(
&
this
->
e
);
#else
return
MSVCP_basic_string_char_c_str
(
&
this
->
str
);
return
MSVCP_basic_string_char_c_str
(
&
this
->
str
);
#endif
}
}
DEFINE_RTTI_DATA1
(
runtime_error
,
0
,
&
exception_rtti_base_descriptor
,
".?AVruntime_error@std@@"
)
DEFINE_RTTI_DATA1
(
runtime_error
,
0
,
&
exception_rtti_base_descriptor
,
".?AVruntime_error@std@@"
)
...
@@ -728,7 +816,7 @@ MSVCP_bool __cdecl MSVCP__uncaught_exception(void)
...
@@ -728,7 +816,7 @@ MSVCP_bool __cdecl MSVCP__uncaught_exception(void)
return
__uncaught_exception
();
return
__uncaught_exception
();
}
}
#if _MSVCP_VER >= 70
#if _MSVCP_VER >= 70
|| defined(_MSVCIRT)
#define EXCEPTION_VTABLE(name,funcs) __ASM_VTABLE(name,funcs)
#define EXCEPTION_VTABLE(name,funcs) __ASM_VTABLE(name,funcs)
#else
#else
#define EXCEPTION_VTABLE(name,funcs) __ASM_VTABLE(name,funcs VTABLE_ADD_FUNC(MSVCP_exception__Doraise))
#define EXCEPTION_VTABLE(name,funcs) __ASM_VTABLE(name,funcs VTABLE_ADD_FUNC(MSVCP_exception__Doraise))
...
...
dlls/msvcrt40/msvcrt40.spec
View file @
e35e107e
...
@@ -78,10 +78,10 @@
...
@@ -78,10 +78,10 @@
@ stub -arch=win64 ??0istrstream@@QEAA@PEAD@Z
@ stub -arch=win64 ??0istrstream@@QEAA@PEAD@Z
@ stub -arch=win32 ??0istrstream@@QAE@PADH@Z
@ stub -arch=win32 ??0istrstream@@QAE@PADH@Z
@ stub -arch=win64 ??0istrstream@@QEAA@PEADH@Z
@ stub -arch=win64 ??0istrstream@@QEAA@PEADH@Z
@
stub -arch=win32
??0logic_error@@QAE@ABQBD@Z
@
thiscall -arch=win32 ??0logic_error@@QAE@ABQBD@Z(ptr ptr) msvcirt.
??0logic_error@@QAE@ABQBD@Z
@
stub -arch=win64
??0logic_error@@QEAA@AEBQEBD@Z
@
cdecl -arch=win64 ??0logic_error@@QEAA@AEBQEBD@Z(ptr ptr) msvcirt.
??0logic_error@@QEAA@AEBQEBD@Z
@
stub -arch=win32
??0logic_error@@QAE@ABV0@@Z
@
thiscall -arch=win32 ??0logic_error@@QAE@ABV0@@Z(ptr ptr) msvcirt.
??0logic_error@@QAE@ABV0@@Z
@
stub -arch=win64
??0logic_error@@QEAA@AEBV0@@Z
@
cdecl -arch=win64 ??0logic_error@@QEAA@AEBV0@@Z(ptr ptr) msvcirt.
??0logic_error@@QEAA@AEBV0@@Z
@ stub -arch=win32 ??0ofstream@@QAE@ABV0@@Z
@ stub -arch=win32 ??0ofstream@@QAE@ABV0@@Z
@ stub -arch=win64 ??0ofstream@@QEAA@AEBV0@@Z
@ stub -arch=win64 ??0ofstream@@QEAA@AEBV0@@Z
@ stub -arch=win32 ??0ofstream@@QAE@H@Z
@ stub -arch=win32 ??0ofstream@@QAE@H@Z
...
@@ -166,8 +166,8 @@
...
@@ -166,8 +166,8 @@
@ stub -arch=win64 ??1istream_withassign@@UEAA@XZ
@ stub -arch=win64 ??1istream_withassign@@UEAA@XZ
@ stub -arch=win32 ??1istrstream@@UAE@XZ
@ stub -arch=win32 ??1istrstream@@UAE@XZ
@ stub -arch=win64 ??1istrstream@@UEAA@XZ
@ stub -arch=win64 ??1istrstream@@UEAA@XZ
@
stub -arch=win32
??1logic_error@@UAE@XZ
@
thiscall -arch=win32 ??1logic_error@@UAE@XZ(ptr) msvcirt.
??1logic_error@@UAE@XZ
@
stub -arch=win64
??1logic_error@@UEAA@XZ
@
cdecl -arch=win64 ??1logic_error@@UEAA@XZ(ptr) msvcirt.
??1logic_error@@UEAA@XZ
@ stub -arch=win32 ??1ofstream@@UAE@XZ
@ stub -arch=win32 ??1ofstream@@UAE@XZ
@ stub -arch=win64 ??1ofstream@@UEAA@XZ
@ stub -arch=win64 ??1ofstream@@UEAA@XZ
@ stub -arch=win32 ??1ostream@@UAE@XZ
@ stub -arch=win32 ??1ostream@@UAE@XZ
...
@@ -226,8 +226,8 @@
...
@@ -226,8 +226,8 @@
@ stub -arch=win64 ??4istream_withassign@@QEAAAEAVistream@@PEAVstreambuf@@@Z
@ stub -arch=win64 ??4istream_withassign@@QEAAAEAVistream@@PEAVstreambuf@@@Z
@ stub -arch=win32 ??4istrstream@@QAEAAV0@ABV0@@Z
@ stub -arch=win32 ??4istrstream@@QAEAAV0@ABV0@@Z
@ stub -arch=win64 ??4istrstream@@QEAAAEAV0@AEBV0@@Z
@ stub -arch=win64 ??4istrstream@@QEAAAEAV0@AEBV0@@Z
@
stub -arch=win32
??4logic_error@@QAEAAV0@ABV0@@Z
@
thiscall -arch=win32 ??4logic_error@@QAEAAV0@ABV0@@Z(ptr ptr) msvcirt.
??4logic_error@@QAEAAV0@ABV0@@Z
@
stub -arch=win64
??4logic_error@@QEAAAEAV0@AEBV0@@Z
@
cdecl -arch=win64 ??4logic_error@@QEAAAEAV0@AEBV0@@Z(ptr ptr) msvcirt.
??4logic_error@@QEAAAEAV0@AEBV0@@Z
@ stub -arch=win32 ??4ofstream@@QAEAAV0@ABV0@@Z
@ stub -arch=win32 ??4ofstream@@QAEAAV0@ABV0@@Z
@ stub -arch=win64 ??4ofstream@@QEAAAEAV0@AEBV0@@Z
@ stub -arch=win64 ??4ofstream@@QEAAAEAV0@AEBV0@@Z
@ stub -arch=win32 ??4ostream@@IAEAAV0@ABV0@@Z
@ stub -arch=win32 ??4ostream@@IAEAAV0@ABV0@@Z
...
@@ -346,7 +346,7 @@
...
@@ -346,7 +346,7 @@
# @ extern ??_7istream@@6B@
# @ extern ??_7istream@@6B@
# @ extern ??_7istream_withassign@@6B@
# @ extern ??_7istream_withassign@@6B@
# @ extern ??_7istrstream@@6B@
# @ extern ??_7istrstream@@6B@
# @ extern
??_7logic_error@@6B@
@ extern ??_7logic_error@@6B@ msvcirt.
??_7logic_error@@6B@
# @ extern ??_7ofstream@@6B@
# @ extern ??_7ofstream@@6B@
# @ extern ??_7ostream@@6B@
# @ extern ??_7ostream@@6B@
# @ extern ??_7ostream_withassign@@6B@
# @ extern ??_7ostream_withassign@@6B@
...
@@ -409,7 +409,7 @@
...
@@ -409,7 +409,7 @@
@ stub -arch=win32 ??_Eistream@@UAEPAXI@Z
@ stub -arch=win32 ??_Eistream@@UAEPAXI@Z
@ stub -arch=win32 ??_Eistream_withassign@@UAEPAXI@Z
@ stub -arch=win32 ??_Eistream_withassign@@UAEPAXI@Z
@ stub -arch=win32 ??_Eistrstream@@UAEPAXI@Z
@ stub -arch=win32 ??_Eistrstream@@UAEPAXI@Z
@
stub -arch=win32
??_Elogic_error@@UAEPAXI@Z
@
thiscall -arch=win32 ??_Elogic_error@@UAEPAXI@Z(ptr long) msvcirt.
??_Elogic_error@@UAEPAXI@Z
@ stub -arch=win32 ??_Eofstream@@UAEPAXI@Z
@ stub -arch=win32 ??_Eofstream@@UAEPAXI@Z
@ stub -arch=win32 ??_Eostream@@UAEPAXI@Z
@ stub -arch=win32 ??_Eostream@@UAEPAXI@Z
@ stub -arch=win32 ??_Eostream_withassign@@UAEPAXI@Z
@ stub -arch=win32 ??_Eostream_withassign@@UAEPAXI@Z
...
@@ -432,7 +432,7 @@
...
@@ -432,7 +432,7 @@
@ stub -arch=win32 ??_Gistream@@UAEPAXI@Z
@ stub -arch=win32 ??_Gistream@@UAEPAXI@Z
@ stub -arch=win32 ??_Gistream_withassign@@UAEPAXI@Z
@ stub -arch=win32 ??_Gistream_withassign@@UAEPAXI@Z
@ stub -arch=win32 ??_Gistrstream@@UAEPAXI@Z
@ stub -arch=win32 ??_Gistrstream@@UAEPAXI@Z
@
stub -arch=win32
??_Glogic_error@@UAEPAXI@Z
@
thiscall -arch=win32 ??_Glogic_error@@UAEPAXI@Z(ptr long) msvcirt.
??_Glogic_error@@UAEPAXI@Z
@ stub -arch=win32 ??_Gofstream@@UAEPAXI@Z
@ stub -arch=win32 ??_Gofstream@@UAEPAXI@Z
@ stub -arch=win32 ??_Gostream@@UAEPAXI@Z
@ stub -arch=win32 ??_Gostream@@UAEPAXI@Z
@ stub -arch=win32 ??_Gostream_withassign@@UAEPAXI@Z
@ stub -arch=win32 ??_Gostream_withassign@@UAEPAXI@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