Piotr Caban : msvcp100: Add basic_ostream::swap implementaiton.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jul 30 17:21:36 CDT 2014


Module: wine
Branch: master
Commit: 4d3b23f6cd5cc92dbd536ab4cc89f5b8c07af67c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4d3b23f6cd5cc92dbd536ab4cc89f5b8c07af67c

Author: Piotr Caban <piotr at 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 at GU?$char_traits at G@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_istream_wchar_swap
 @ thiscall -arch=win32 ?swap@?$basic_istream at _WU?$char_traits at _W@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_istream_wchar_swap
 @ cdecl -arch=win64 ?swap@?$basic_istream at _WU?$char_traits at _W@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_istream_wchar_swap
-@ stub -arch=win32 ?swap@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEXAAV12@@Z
-@ stub -arch=win64 ?swap@?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAXAEAV12@@Z
-@ stub -arch=win32 ?swap@?$basic_ostream at GU?$char_traits at G@std@@@std@@QAEXAAV12@@Z
-@ stub -arch=win64 ?swap@?$basic_ostream at GU?$char_traits at G@std@@@std@@QEAAXAEAV12@@Z
-@ stub -arch=win32 ?swap@?$basic_ostream at _WU?$char_traits at _W@std@@@std@@QAEXAAV12@@Z
-@ stub -arch=win64 ?swap@?$basic_ostream at _WU?$char_traits at _W@std@@@std@@QEAAXAEAV12@@Z
+@ thiscall -arch=win32 ?swap@?$basic_ostream at DU?$char_traits at D@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_ostream_char_swap
+@ cdecl -arch=win64 ?swap@?$basic_ostream at DU?$char_traits at D@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_ostream_char_swap
+@ thiscall -arch=win32 ?swap@?$basic_ostream at GU?$char_traits at G@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_ostream_wchar_swap
+@ cdecl -arch=win64 ?swap@?$basic_ostream at GU?$char_traits at G@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_ostream_wchar_swap
+@ thiscall -arch=win32 ?swap@?$basic_ostream at _WU?$char_traits at _W@std@@@std@@QAEXAAV12@@Z(ptr ptr) basic_ostream_wchar_swap
+@ cdecl -arch=win64 ?swap@?$basic_ostream at _WU?$char_traits at _W@std@@@std@@QEAAXAEAV12@@Z(ptr ptr) basic_ostream_wchar_swap
 @ stub -arch=win32 ?swap@?$basic_streambuf at DU?$char_traits at D@std@@@std@@IAEXAAV12@@Z
 @ stub -arch=win64 ?swap@?$basic_streambuf at DU?$char_traits at D@std@@@std@@IEAAXAEAV12@@Z
 @ stub -arch=win32 ?swap@?$basic_streambuf at GU?$char_traits at 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 at _WU?$char_traits at _W@std@@@std@@IAAXAAV12@@Z(ptr ptr) basic_istream_wchar_swap
 @ thiscall -arch=i386 ?swap@?$basic_istream at _WU?$char_traits at _W@std@@@std@@IAEXAAV12@@Z(ptr ptr) basic_istream_wchar_swap
 @ cdecl -arch=win64 ?swap@?$basic_istream at _WU?$char_traits at _W@std@@@std@@IEAAXAEAV12@@Z(ptr ptr) basic_istream_wchar_swap
-@ stub -arch=arm ?swap@?$basic_ostream at DU?$char_traits at D@std@@@std@@IAAXAAV12@@Z
-@ stub -arch=i386 ?swap@?$basic_ostream at DU?$char_traits at D@std@@@std@@IAEXAAV12@@Z
-@ stub -arch=win64 ?swap@?$basic_ostream at DU?$char_traits at D@std@@@std@@IEAAXAEAV12@@Z
-@ stub -arch=arm ?swap@?$basic_ostream at GU?$char_traits at G@std@@@std@@IAAXAAV12@@Z
-@ stub -arch=i386 ?swap@?$basic_ostream at GU?$char_traits at G@std@@@std@@IAEXAAV12@@Z
-@ stub -arch=win64 ?swap@?$basic_ostream at GU?$char_traits at G@std@@@std@@IEAAXAEAV12@@Z
-@ stub -arch=arm ?swap@?$basic_ostream at _WU?$char_traits at _W@std@@@std@@IAAXAAV12@@Z
-@ stub -arch=i386 ?swap@?$basic_ostream at _WU?$char_traits at _W@std@@@std@@IAEXAAV12@@Z
-@ stub -arch=win64 ?swap@?$basic_ostream at _WU?$char_traits at _W@std@@@std@@IEAAXAEAV12@@Z
+@ cdecl -arch=arm ?swap@?$basic_ostream at DU?$char_traits at D@std@@@std@@IAAXAAV12@@Z(ptr ptr) basic_ostream_char_swap
+@ thiscall -arch=i386 ?swap@?$basic_ostream at DU?$char_traits at D@std@@@std@@IAEXAAV12@@Z(ptr ptr) basic_ostream_char_swap
+@ cdecl -arch=win64 ?swap@?$basic_ostream at DU?$char_traits at D@std@@@std@@IEAAXAEAV12@@Z(ptr ptr) basic_ostream_char_swap
+@ cdecl -arch=arm ?swap@?$basic_ostream at GU?$char_traits at G@std@@@std@@IAAXAAV12@@Z(ptr ptr) basic_ostream_wchar_swap
+@ thiscall -arch=i386 ?swap@?$basic_ostream at GU?$char_traits at G@std@@@std@@IAEXAAV12@@Z(ptr ptr) basic_ostream_wchar_swap
+@ cdecl -arch=win64 ?swap@?$basic_ostream at GU?$char_traits at G@std@@@std@@IEAAXAEAV12@@Z(ptr ptr) basic_ostream_wchar_swap
+@ cdecl -arch=arm ?swap@?$basic_ostream at _WU?$char_traits at _W@std@@@std@@IAAXAAV12@@Z(ptr ptr) basic_ostream_wchar_swap
+@ thiscall -arch=i386 ?swap@?$basic_ostream at _WU?$char_traits at _W@std@@@std@@IAEXAAV12@@Z(ptr ptr) basic_ostream_wchar_swap
+@ cdecl -arch=win64 ?swap@?$basic_ostream at _WU?$char_traits at _W@std@@@std@@IEAAXAEAV12@@Z(ptr ptr) basic_ostream_wchar_swap
 @ stub -arch=arm ?swap@?$basic_streambuf at DU?$char_traits at D@std@@@std@@IAAXAAV12@@Z
 @ stub -arch=i386 ?swap@?$basic_streambuf at DU?$char_traits at D@std@@@std@@IAEXAAV12@@Z
 @ stub -arch=win64 ?swap@?$basic_streambuf at DU?$char_traits at 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 at DU?$char_traits at D@std@@@std@@IAEXAAV12@@Z */
+/* ?swap@?$basic_ostream at DU?$char_traits at 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 at GU?$char_traits at G@std@@@std@@IAEXAAV12@@Z */
+/* ?swap@?$basic_ostream at GU?$char_traits at G@std@@@std@@IEAAXAEAV12@@Z */
+/* ?swap@?$basic_ostream at _WU?$char_traits at _W@std@@@std@@IAEXAAV12@@Z */
+/* ?swap@?$basic_ostream at _WU?$char_traits at _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)
 {




More information about the wine-cvs mailing list