# HG changeset patch # User Frits van Bommel # Date 1243782711 -7200 # Node ID 1dc1232aa91afd973308f76fd2165b7621afe5fd # Parent b6aa031644366a2b51fe741c357ef1be3b3bb78e# Parent 2a8d4f98b543adb1e137c6f8d81c74538275cbe6 Automated merge with http://hg.dsource.org/projects/ldc diff -r b6aa03164436 -r 1dc1232aa91a tango-0.99.8.patch --- a/tango-0.99.8.patch Sun May 31 09:10:33 2009 -0600 +++ b/tango-0.99.8.patch Sun May 31 17:11:51 2009 +0200 @@ -1,8 +1,15 @@ Index: object.di =================================================================== ---- object.di (revision 4655) +--- object.di (revision 4578) +++ object.di (working copy) -@@ -41,9 +41,11 @@ +@@ -35,15 +35,17 @@ + Interface[] interfaces; + ClassInfo base; + void* destructor; +- void(*classInvariant)(Object); ++ void* classInvariant; + uint flags; + // 1: // IUnknown // 2: // has no possible pointers into GC memory // 4: // has offTi[] member // 8: // has constructors @@ -14,9 +21,25 @@ static ClassInfo find(char[] classname); Object create(); +@@ -127,10 +129,11 @@ + char[] name; + void[] m_init; + +- uint function(void*) xtoHash; +- int function(void*,void*) xopEquals; +- int function(void*,void*) xopCmp; +- char[] function(void*) xtoString; ++ // These are ONLY for use as a delegate.funcptr! ++ hash_t function() xtoHash; ++ int function(void*) xopEquals; ++ int function(void*) xopCmp; ++ char[] function() xtoString; + + uint m_flags; + } Index: lib/common/tango/core/Thread.d =================================================================== ---- lib/common/tango/core/Thread.d (revision 4655) +--- lib/common/tango/core/Thread.d (revision 4578) +++ lib/common/tango/core/Thread.d (working copy) @@ -295,7 +295,7 @@ } @@ -38,7 +61,7 @@ movq r12[RBP], R12 ; Index: lib/gc/basic/gcx.d =================================================================== ---- lib/gc/basic/gcx.d (revision 4655) +--- lib/gc/basic/gcx.d (revision 4578) +++ lib/gc/basic/gcx.d (working copy) @@ -2198,7 +2198,7 @@ } @@ -58,9 +81,28 @@ movq r10[RBP], R10 ; movq r11[RBP], R11 ; movq r12[RBP], R12 ; +Index: tango/text/convert/Layout.d +=================================================================== +--- tango/text/convert/Layout.d (revision 4578) ++++ tango/text/convert/Layout.d (working copy) +@@ -660,8 +660,12 @@ + + case TypeCode.STRUCT: + auto s = cast(TypeInfo_Struct) type; +- if (s.xtoString) +- return Utf.fromString8 (s.xtoString(p), result); ++ if (s.xtoString) { ++ char[] delegate() toString; ++ toString.ptr = p; ++ toString.funcptr = cast(char[] function()) s.xtoString; ++ return Utf.fromString8 (toString(), result); ++ } + goto default; + + case TypeCode.INTERFACE: Index: tango/net/Socket.d =================================================================== ---- tango/net/Socket.d (revision 4655) +--- tango/net/Socket.d (revision 4578) +++ tango/net/Socket.d (working copy) @@ -1545,10 +1545,10 @@