changeset 1445:1dc1232aa91a

Automated merge with http://hg.dsource.org/projects/ldc
author Frits van Bommel <fvbommel wxs.nl>
date Sun, 31 May 2009 17:11:51 +0200
parents b6aa03164436 (current diff) 2a8d4f98b543 (diff)
children fe151804995a
files
diffstat 1 files changed, 47 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- 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 @@