comparison runtime/llvmdc.diff @ 627:79cbe5034fec

Tango patch: xml document fixes and symbol visibility in gc
author Christian Kamm <kamm incasoftware de>
date Wed, 01 Oct 2008 19:19:26 +0200
parents c60e122f4ada
children 9fb1f559d9e9
comparison
equal deleted inserted replaced
626:e83ba4ae4878 627:79cbe5034fec
135 popad; 135 popad;
136 Index: lib/gc/basic/gcx.d 136 Index: lib/gc/basic/gcx.d
137 =================================================================== 137 ===================================================================
138 --- lib/gc/basic/gcx.d (revision 3939) 138 --- lib/gc/basic/gcx.d (revision 3939)
139 +++ lib/gc/basic/gcx.d (working copy) 139 +++ lib/gc/basic/gcx.d (working copy)
140 @@ -65,6 +65,13 @@
141 }
142
143
144 +struct BlkInfo
145 +{
146 + void* base;
147 + size_t size;
148 + uint attr;
149 +}
150 +
151 private
152 {
153 enum BlkAttr : uint
154 @@ -75,13 +82,6 @@
155 ALL_BITS = 0b1111_1111
156 }
157
158 - struct BlkInfo
159 - {
160 - void* base;
161 - size_t size;
162 - uint attr;
163 - }
164 -
165 extern (C) void* rt_stackBottom();
166 extern (C) void* rt_stackTop();
167
140 @@ -2178,6 +2178,28 @@ 168 @@ -2178,6 +2178,28 @@
141 __builtin_unwind_init(); 169 __builtin_unwind_init();
142 sp = & sp; 170 sp = & sp;
143 } 171 }
144 + else version(LLVMDC) 172 + else version(LLVMDC)
227 + { 255 + {
228 + Arg[64] arglist = void; 256 + Arg[64] arglist = void;
229 int[64] intargs = void; 257 int[64] intargs = void;
230 byte[64] byteargs = void; 258 byte[64] byteargs = void;
231 long[64] longargs = void; 259 long[64] longargs = void;
260 Index: tango/text/xml/Document.d
261 ===================================================================
262 --- tango/text/xml/Document.d (revision 3939)
263 +++ tango/text/xml/Document.d (working copy)
264 @@ -1243,7 +1243,8 @@
265 freeIndex = 0;
266 }
267
268 - NodeSet set = {this};
269 + NodeSet set;
270 + set.host = this;
271 auto mark = freeIndex;
272 allocate(root);
273 return set.assign (mark);
274 @@ -1273,7 +1274,8 @@
275
276 NodeSet dup ()
277 {
278 - NodeSet copy = {host};
279 + NodeSet copy;
280 + copy.host = host;
281 copy.nodes = nodes.dup;
282 return copy;
283 }
284 @@ -1337,7 +1339,7 @@
285
286 NodeSet nth (uint index)
287 {
288 - NodeSet set = {host};
289 + NodeSet set; set.host = host;
290 auto mark = host.mark;
291 if (index < nodes.length)
292 host.allocate (nodes [index]);
293 @@ -1495,7 +1497,7 @@
294
295 NodeSet filter (bool delegate(Node) filter)
296 {
297 - NodeSet set = {host};
298 + NodeSet set; set.host = host;
299 auto mark = host.mark;
300
301 foreach (node; nodes)
302 @@ -1514,7 +1516,7 @@
303 NodeSet child (bool delegate(Node) filter,
304 XmlNodeType type = XmlNodeType.Element)
305 {
306 - NodeSet set = {host};
307 + NodeSet set; set.host = host;
308 auto mark = host.mark;
309
310 foreach (parent; nodes)
311 @@ -1534,7 +1536,7 @@
312
313 NodeSet attribute (bool delegate(Node) filter)
314 {
315 - NodeSet set = {host};
316 + NodeSet set; set.host = host;
317 auto mark = host.mark;
318
319 foreach (node; nodes)
320 @@ -1565,7 +1567,7 @@
321 }
322 }
323
324 - NodeSet set = {host};
325 + NodeSet set; set.host = host;
326 auto mark = host.mark;
327
328 foreach (node; nodes)
329 @@ -1583,7 +1585,7 @@
330
331 NodeSet parent (bool delegate(Node) filter)
332 {
333 - NodeSet set = {host};
334 + NodeSet set; set.host = host;
335 auto mark = host.mark;
336
337 foreach (node; nodes)
338 @@ -1613,7 +1615,7 @@
339
340 NodeSet ancestor (bool delegate(Node) filter)
341 {
342 - NodeSet set = {host};
343 + NodeSet set; set.host = host;
344 auto mark = host.mark;
345
346 void traverse (Node child)
347 @@ -1648,7 +1650,7 @@
348 NodeSet next (bool delegate(Node) filter,
349 XmlNodeType type = XmlNodeType.Element)
350 {
351 - NodeSet set = {host};
352 + NodeSet set; set.host = host;
353 auto mark = host.mark;
354
355 foreach (node; nodes)
356 @@ -1675,7 +1677,7 @@
357 NodeSet prev (bool delegate(Node) filter,
358 XmlNodeType type = XmlNodeType.Element)
359 {
360 - NodeSet set = {host};
361 + NodeSet set; set.host = host;
362 auto mark = host.mark;
363
364 foreach (node; nodes)
232 Index: tango/core/Vararg.d 365 Index: tango/core/Vararg.d
233 =================================================================== 366 ===================================================================
234 --- tango/core/Vararg.d (revision 3939) 367 --- tango/core/Vararg.d (revision 3939)
235 +++ tango/core/Vararg.d (working copy) 368 +++ tango/core/Vararg.d (working copy)
236 @@ -15,6 +15,10 @@ 369 @@ -15,6 +15,10 @@