Module: wine Branch: master Commit: 4d3b23f6cd5cc92dbd536ab4cc89f5b8c07af67c URL: http://source.winehq.org/git/wine.git/?a=commit;h=4d3b23f6cd5cc92dbd536ab4cc...
Author: Piotr Caban piotr@codeweavers.com Date: Wed Jul 30 15:55:20 2014 -0500
msvcp100: Add basic_ostream::swap implementaiton.
---
dlls/msvcp100/msvcp100.spec | 12 ++++++------ dlls/msvcp110/msvcp110.spec | 18 +++++++++--------- dlls/msvcp90/ios.c | 30 ++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 15 deletions(-)
diff --git a/dlls/msvcp100/msvcp100.spec b/dlls/msvcp100/msvcp100.spec index 64a3389..20a8ee6 100644 --- a/dlls/msvcp100/msvcp100.spec +++ b/dlls/msvcp100/msvcp100.spec @@ -2704,12 +2704,12 @@ @ cdecl -arch=win64 ?swap@?$basic_istream@GU?$char_traits@G@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_istream_wchar_swap @ thiscall -arch=win32 ?swap@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_istream_wchar_swap @ cdecl -arch=win64 ?swap@?$basic_istream@_WU?$char_traits@_W@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_istream_wchar_swap -@ stub -arch=win32 ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXAAV12@@Z -@ stub -arch=win64 ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXAEAV12@@Z -@ stub -arch=win32 ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXAAV12@@Z -@ stub -arch=win64 ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXAEAV12@@Z -@ stub -arch=win32 ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXAAV12@@Z -@ stub -arch=win64 ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXAEAV12@@Z +@ thiscall -arch=win32 ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_ostream_char_swap +@ cdecl -arch=win64 ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_ostream_char_swap +@ thiscall -arch=win32 ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_ostream_wchar_swap +@ cdecl -arch=win64 ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_ostream_wchar_swap +@ thiscall -arch=win32 ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_ostream_wchar_swap +@ cdecl -arch=win64 ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_ostream_wchar_swap @ stub -arch=win32 ?swap@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXAAV12@@Z @ stub -arch=win64 ?swap@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXAEAV12@@Z @ stub -arch=win32 ?swap@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXAAV12@@Z diff --git a/dlls/msvcp110/msvcp110.spec b/dlls/msvcp110/msvcp110.spec index 67d706a..15ec125 100644 --- a/dlls/msvcp110/msvcp110.spec +++ b/dlls/msvcp110/msvcp110.spec @@ -3488,15 +3488,15 @@ @ cdecl -arch=arm ?swap@?$basic_istream@_WU?$char_traits@_W@std@@@std@@IAAXAAV12@@Z(ptr ptr) basic_istream_wchar_swap @ thiscall -arch=i386 ?swap@?$basic_istream@_WU?$char_traits@_W@std@@@std@@IAEXAAV12@@Z(ptr ptr) basic_istream_wchar_swap @ cdecl -arch=win64 ?swap@?$basic_istream@_WU?$char_traits@_W@std@@@std@@IEAAXAEAV12@@Z(ptr ptr) basic_istream_wchar_swap -@ stub -arch=arm ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@IAAXAAV12@@Z -@ stub -arch=i386 ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@IAEXAAV12@@Z -@ stub -arch=win64 ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@IEAAXAEAV12@@Z -@ stub -arch=arm ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@IAAXAAV12@@Z -@ stub -arch=i386 ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@IAEXAAV12@@Z -@ stub -arch=win64 ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@IEAAXAEAV12@@Z -@ stub -arch=arm ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@IAAXAAV12@@Z -@ stub -arch=i386 ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@IAEXAAV12@@Z -@ stub -arch=win64 ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@IEAAXAEAV12@@Z +@ cdecl -arch=arm ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@IAAXAAV12@@Z(ptr ptr) basic_ostream_char_swap +@ thiscall -arch=i386 ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@IAEXAAV12@@Z(ptr ptr) basic_ostream_char_swap +@ cdecl -arch=win64 ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@IEAAXAEAV12@@Z(ptr ptr) basic_ostream_char_swap +@ cdecl -arch=arm ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@IAAXAAV12@@Z(ptr ptr) basic_ostream_wchar_swap +@ thiscall -arch=i386 ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@IAEXAAV12@@Z(ptr ptr) basic_ostream_wchar_swap +@ cdecl -arch=win64 ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@IEAAXAEAV12@@Z(ptr ptr) basic_ostream_wchar_swap +@ cdecl -arch=arm ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@IAAXAAV12@@Z(ptr ptr) basic_ostream_wchar_swap +@ thiscall -arch=i386 ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@IAEXAAV12@@Z(ptr ptr) basic_ostream_wchar_swap +@ cdecl -arch=win64 ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@IEAAXAEAV12@@Z(ptr ptr) basic_ostream_wchar_swap @ stub -arch=arm ?swap@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAAXAAV12@@Z @ stub -arch=i386 ?swap@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXAAV12@@Z @ stub -arch=win64 ?swap@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXAEAV12@@Z diff --git a/dlls/msvcp90/ios.c b/dlls/msvcp90/ios.c index 187494b..7ddc9da 100644 --- a/dlls/msvcp90/ios.c +++ b/dlls/msvcp90/ios.c @@ -6635,6 +6635,20 @@ basic_ostream_char* __thiscall basic_ostream_char_print_func_ios_base( return this; }
+/* ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@IAEXAAV12@@Z */ +/* ?swap@?$basic_ostream@DU?$char_traits@D@std@@@std@@IEAAXAEAV12@@Z */ +DEFINE_THISCALL_WRAPPER(basic_ostream_char_swap, 8) +void __thiscall basic_ostream_char_swap(basic_ostream_char *this, basic_ostream_char *r) +{ + TRACE("(%p %p)\n", this, r); + + if(this == r) + return; + + basic_ios_char_swap(basic_ostream_char_get_basic_ios(this), + basic_ostream_char_get_basic_ios(r)); +} + /* Caution: basic_ostream uses virtual inheritance. */ static inline basic_ios_wchar* basic_ostream_wchar_get_basic_ios(basic_ostream_wchar *this) { @@ -7658,6 +7672,22 @@ basic_ostream_wchar* __thiscall basic_ostream_wchar_print_func_ios_base( return this; }
+/* ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@IAEXAAV12@@Z */ +/* ?swap@?$basic_ostream@GU?$char_traits@G@std@@@std@@IEAAXAEAV12@@Z */ +/* ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@IAEXAAV12@@Z */ +/* ?swap@?$basic_ostream@_WU?$char_traits@_W@std@@@std@@IEAAXAEAV12@@Z */ +DEFINE_THISCALL_WRAPPER(basic_ostream_wchar_swap, 8) +void __thiscall basic_ostream_wchar_swap(basic_ostream_wchar *this, basic_ostream_wchar *r) +{ + TRACE("(%p %p)\n", this, r); + + if(this == r) + return; + + basic_ios_wchar_swap(basic_ostream_wchar_get_basic_ios(this), + basic_ostream_wchar_get_basic_ios(r)); +} + /* Caution: basic_istream uses virtual inheritance. */ static inline basic_ios_char* basic_istream_char_get_basic_ios(basic_istream_char *this) {