Mercurial > projects > ldc
comparison tango-0.99.8.patch @ 1444:2a8d4f98b543
Update patch for Tango 0.99.8
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Sun, 31 May 2009 15:47:59 +0200 |
parents | 967d28b7febe |
children |
comparison
equal
deleted
inserted
replaced
1442:0a5f7890f327 | 1444:2a8d4f98b543 |
---|---|
1 Index: object.di | 1 Index: object.di |
2 =================================================================== | 2 =================================================================== |
3 --- object.di (revision 4655) | 3 --- object.di (revision 4578) |
4 +++ object.di (working copy) | 4 +++ object.di (working copy) |
5 @@ -41,9 +41,11 @@ | 5 @@ -35,15 +35,17 @@ |
6 Interface[] interfaces; | |
7 ClassInfo base; | |
8 void* destructor; | |
9 - void(*classInvariant)(Object); | |
10 + void* classInvariant; | |
11 uint flags; | |
12 // 1: // IUnknown | |
6 // 2: // has no possible pointers into GC memory | 13 // 2: // has no possible pointers into GC memory |
7 // 4: // has offTi[] member | 14 // 4: // has offTi[] member |
8 // 8: // has constructors | 15 // 8: // has constructors |
9 + // 32: // has typeinfo | 16 + // 32: // has typeinfo |
10 void* deallocator; | 17 void* deallocator; |
12 void* defaultConstructor; | 19 void* defaultConstructor; |
13 + TypeInfo typeinfo; | 20 + TypeInfo typeinfo; |
14 | 21 |
15 static ClassInfo find(char[] classname); | 22 static ClassInfo find(char[] classname); |
16 Object create(); | 23 Object create(); |
24 @@ -127,10 +129,11 @@ | |
25 char[] name; | |
26 void[] m_init; | |
27 | |
28 - uint function(void*) xtoHash; | |
29 - int function(void*,void*) xopEquals; | |
30 - int function(void*,void*) xopCmp; | |
31 - char[] function(void*) xtoString; | |
32 + // These are ONLY for use as a delegate.funcptr! | |
33 + hash_t function() xtoHash; | |
34 + int function(void*) xopEquals; | |
35 + int function(void*) xopCmp; | |
36 + char[] function() xtoString; | |
37 | |
38 uint m_flags; | |
39 } | |
17 Index: lib/common/tango/core/Thread.d | 40 Index: lib/common/tango/core/Thread.d |
18 =================================================================== | 41 =================================================================== |
19 --- lib/common/tango/core/Thread.d (revision 4655) | 42 --- lib/common/tango/core/Thread.d (revision 4578) |
20 +++ lib/common/tango/core/Thread.d (working copy) | 43 +++ lib/common/tango/core/Thread.d (working copy) |
21 @@ -295,7 +295,7 @@ | 44 @@ -295,7 +295,7 @@ |
22 } | 45 } |
23 else version (X86_64) | 46 else version (X86_64) |
24 { | 47 { |
36 movq r10[RBP], R10 ; | 59 movq r10[RBP], R10 ; |
37 movq r11[RBP], R11 ; | 60 movq r11[RBP], R11 ; |
38 movq r12[RBP], R12 ; | 61 movq r12[RBP], R12 ; |
39 Index: lib/gc/basic/gcx.d | 62 Index: lib/gc/basic/gcx.d |
40 =================================================================== | 63 =================================================================== |
41 --- lib/gc/basic/gcx.d (revision 4655) | 64 --- lib/gc/basic/gcx.d (revision 4578) |
42 +++ lib/gc/basic/gcx.d (working copy) | 65 +++ lib/gc/basic/gcx.d (working copy) |
43 @@ -2198,7 +2198,7 @@ | 66 @@ -2198,7 +2198,7 @@ |
44 } | 67 } |
45 else version (X86_64) | 68 else version (X86_64) |
46 { | 69 { |
56 + movq r8[RBP], R8 ; | 79 + movq r8[RBP], R8 ; |
57 + movq r9[RBP], R9 ; | 80 + movq r9[RBP], R9 ; |
58 movq r10[RBP], R10 ; | 81 movq r10[RBP], R10 ; |
59 movq r11[RBP], R11 ; | 82 movq r11[RBP], R11 ; |
60 movq r12[RBP], R12 ; | 83 movq r12[RBP], R12 ; |
84 Index: tango/text/convert/Layout.d | |
85 =================================================================== | |
86 --- tango/text/convert/Layout.d (revision 4578) | |
87 +++ tango/text/convert/Layout.d (working copy) | |
88 @@ -660,8 +660,12 @@ | |
89 | |
90 case TypeCode.STRUCT: | |
91 auto s = cast(TypeInfo_Struct) type; | |
92 - if (s.xtoString) | |
93 - return Utf.fromString8 (s.xtoString(p), result); | |
94 + if (s.xtoString) { | |
95 + char[] delegate() toString; | |
96 + toString.ptr = p; | |
97 + toString.funcptr = cast(char[] function()) s.xtoString; | |
98 + return Utf.fromString8 (toString(), result); | |
99 + } | |
100 goto default; | |
101 | |
102 case TypeCode.INTERFACE: | |
61 Index: tango/net/Socket.d | 103 Index: tango/net/Socket.d |
62 =================================================================== | 104 =================================================================== |
63 --- tango/net/Socket.d (revision 4655) | 105 --- tango/net/Socket.d (revision 4578) |
64 +++ tango/net/Socket.d (working copy) | 106 +++ tango/net/Socket.d (working copy) |
65 @@ -1545,10 +1545,10 @@ | 107 @@ -1545,10 +1545,10 @@ |
66 | 108 |
67 abstract class Address | 109 abstract class Address |
68 { | 110 { |