[PATCH 1/2] msvcp140: Add MSVC 2015 C++ support DLL (try 3)

Piotr Caban piotr.caban at gmail.com
Tue Aug 2 05:43:03 CDT 2016


On 08/02/16 01:40, Daniel Lehman wrote:
> Try 3:
> - use commented out externs for vtables
> Try 2:
> - add -arch to stubs
> - use #define in _scprintf

Here's the list of stubs that still needs to be changed:
?_Init_cnt at _UShinit@std@@0HA :- private: static int std::_UShinit::_Init_cnt
?id@?$codecvt at DDU_Mbstatet@@@std@@2V0locale at 2@A :- public: static class 
std::locale::id std::codecvt<char,char,struct _Mbstatet>::id
?id@?$codecvt at GDU_Mbstatet@@@std@@2V0locale at 2@A :- public: static class 
std::locale::id std::codecvt<unsigned short,char,struct _Mbstatet>::id
?id@?$codecvt at _WDU_Mbstatet@@@std@@2V0locale at 2@A :- public: static class 
std::locale::id std::codecvt<wchar_t,char,struct _Mbstatet>::id
?id@?$messages at D@std@@2V0locale at 2@A :- public: static class 
std::locale::id std::messages<char>::id
?id@?$messages at G@std@@2V0locale at 2@A :- public: static class 
std::locale::id std::messages<unsigned short>::id
?id@?$messages at _W@std@@2V0locale at 2@A :- public: static class 
std::locale::id std::messages<wchar_t>::id
?id@?$money_get at DV?$istreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@2V0locale at 2@A 
:- public: static class std::locale::id std::money_get<char,class 
std::istreambuf_iterator<char,struct std::char_traits<char> > >::id
?id@?$money_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@2V0locale at 2@A 
:- public: static class std::locale::id std::money_get<unsigned 
short,class std::istreambuf_iterator<unsigned short,struct 
std::char_traits<unsigned short> > >::id
?id@?$money_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@2V0locale at 2@A 
:- public: static class std::locale::id std::money_get<wchar_t,class 
std::istreambuf_iterator<wchar_t,struct std::char_traits<wchar_t> > >::id
?id@?$money_put at DV?$ostreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@2V0locale at 2@A 
:- public: static class std::locale::id std::money_put<char,class 
std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id
?id@?$money_put at GV?$ostreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@2V0locale at 2@A 
:- public: static class std::locale::id std::money_put<unsigned 
short,class std::ostreambuf_iterator<unsigned short,struct 
std::char_traits<unsigned short> > >::id
?id@?$money_put at _WV?$ostreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@2V0locale at 2@A 
:- public: static class std::locale::id std::money_put<wchar_t,class 
std::ostreambuf_iterator<wchar_t,struct std::char_traits<wchar_t> > >::id
?id@?$moneypunct at D$00 at std@@2V0locale at 2@A :- public: static class 
std::locale::id std::moneypunct<char,1>::id
?id@?$moneypunct at D$0A@@std@@2V0locale at 2@A :- public: static class 
std::locale::id std::moneypunct<char,0>::id
?id@?$moneypunct at G$00 at std@@2V0locale at 2@A :- public: static class 
std::locale::id std::moneypunct<unsigned short,1>::id
?id@?$moneypunct at G$0A@@std@@2V0locale at 2@A :- public: static class 
std::locale::id std::moneypunct<unsigned short,0>::id
?id@?$moneypunct at _W$00 at std@@2V0locale at 2@A :- public: static class 
std::locale::id std::moneypunct<wchar_t,1>::id
?id@?$moneypunct at _W$0A@@std@@2V0locale at 2@A :- public: static class 
std::locale::id std::moneypunct<wchar_t,0>::id
?id@?$time_get at GV?$istreambuf_iterator at GU?$char_traits at G@std@@@std@@@std@@2V0locale at 2@A 
:- public: static class std::locale::id std::time_get<unsigned 
short,class std::istreambuf_iterator<unsigned short,struct 
std::char_traits<unsigned short> > >::id
?id@?$time_get at _WV?$istreambuf_iterator at _WU?$char_traits at _W@std@@@std@@@std@@2V0locale at 2@A 
:- public: static class std::locale::id std::time_get<wchar_t,class 
std::istreambuf_iterator<wchar_t,struct std::char_traits<wchar_t> > >::id
?intl@?$moneypunct at D$00 at std@@2_NB :- public: static bool const 
std::moneypunct<char,1>::intl
?intl@?$moneypunct at D$0A@@std@@2_NB :- public: static bool const 
std::moneypunct<char,0>::intl
?intl@?$moneypunct at G$00 at std@@2_NB :- public: static bool const 
std::moneypunct<unsigned short,1>::intl
?intl@?$moneypunct at G$0A@@std@@2_NB :- public: static bool const 
std::moneypunct<unsigned short,0>::intl
?intl@?$moneypunct at _W$00 at std@@2_NB :- public: static bool const 
std::moneypunct<wchar_t,1>::intl
?intl@?$moneypunct at _W$0A@@std@@2_NB :- public: static bool const 
std::moneypunct<wchar_t,0>::intl

Thanks,
Piotr



More information about the wine-devel mailing list