Update patch for Tango 0.99.8

This commit is contained in:
Frits van Bommel
2009-05-31 15:47:59 +02:00
parent 46cd6504fa
commit 06a0322478

View File

@@ -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 @@ Index: object.di
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 @@ Index: lib/common/tango/core/Thread.d
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 @@ Index: lib/gc/basic/gcx.d
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 @@