Mercurial > projects > ldc
view tango-0.99.8.patch @ 1442:0a5f7890f327
Adjust some more code that was depending on the function and delegate calling
conventions being equal.
There's also an instance in `tango.text.convert.Layout` that should be adjusted:
{{{
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:
}}}
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Sun, 31 May 2009 15:27:01 +0200 |
parents | 967d28b7febe |
children | 2a8d4f98b543 |
line wrap: on
line source
Index: object.di =================================================================== --- object.di (revision 4655) +++ object.di (working copy) @@ -41,9 +41,11 @@ // 2: // has no possible pointers into GC memory // 4: // has offTi[] member // 8: // has constructors + // 32: // has typeinfo void* deallocator; OffsetTypeInfo[] offTi; void* defaultConstructor; + TypeInfo typeinfo; static ClassInfo find(char[] classname); Object create(); Index: lib/common/tango/core/Thread.d =================================================================== --- lib/common/tango/core/Thread.d (revision 4655) +++ lib/common/tango/core/Thread.d (working copy) @@ -295,7 +295,7 @@ } else version (X86_64) { - ulong rax,rbx,rcx,rdx,rbp,rsi,rdi,rsp,r10,r11,r12,r13,r14,r15; + ulong rax,rbx,rcx,rdx,rbp,rsi,rdi,rsp,r8,r9,r10,r11,r12,r13,r14,r15; asm { movq rax[RBP], RAX ; @@ -306,6 +306,8 @@ movq rsi[RBP], RSI ; movq rdi[RBP], RDI ; movq rsp[RBP], RSP ; + movq r8[RBP], R8 ; + movq r9[RBP], R9 ; movq r10[RBP], R10 ; movq r11[RBP], R11 ; movq r12[RBP], R12 ; Index: lib/gc/basic/gcx.d =================================================================== --- lib/gc/basic/gcx.d (revision 4655) +++ lib/gc/basic/gcx.d (working copy) @@ -2198,7 +2198,7 @@ } else version (X86_64) { - ulong rax,rbx,rcx,rdx,rbp,rsi,rdi,rsp,r10,r11,r12,r13,r14,r15; + ulong rax,rbx,rcx,rdx,rbp,rsi,rdi,rsp,r8,r9,r10,r11,r12,r13,r14,r15; asm { movq rax[RBP], RAX ; @@ -2209,6 +2209,8 @@ movq rsi[RBP], RSI ; movq rdi[RBP], RDI ; movq rsp[RBP], RSP ; + movq r8[RBP], R8 ; + movq r9[RBP], R9 ; movq r10[RBP], R10 ; movq r11[RBP], R11 ; movq r12[RBP], R12 ; Index: tango/net/Socket.d =================================================================== --- tango/net/Socket.d (revision 4655) +++ tango/net/Socket.d (working copy) @@ -1545,10 +1545,10 @@ abstract class Address { - protected sockaddr* name(); - protected int nameLen(); - AddressFamily addressFamily(); - char[] toString(); + abstract protected sockaddr* name(); + abstract protected int nameLen(); + abstract AddressFamily addressFamily(); + abstract char[] toString(); /***********************************************************************