Mercurial > projects > ldc
comparison runtime/internal/invariant.d @ 1440:d7ec997de427
Adjust runtime for recent ABI change on x86-64, since member functions are no
longer equivalent to regular functions with `this` as their first argument.
(They weren't anyway, but it happened to work as long as there was no `sret`
parameter)
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Sun, 31 May 2009 14:27:01 +0200 |
parents | d30c40f1128d |
children |
comparison
equal
deleted
inserted
replaced
1439:679ac907c82f | 1440:d7ec997de427 |
---|---|
16 c = o.classinfo; | 16 c = o.classinfo; |
17 do | 17 do |
18 { | 18 { |
19 if (c.classInvariant) | 19 if (c.classInvariant) |
20 { | 20 { |
21 (*c.classInvariant)(o); | 21 void delegate() inv; |
22 inv.ptr = cast(void*) o; | |
23 inv.funcptr = c.classInvariant; | |
24 inv(); | |
22 } | 25 } |
23 c = c.base; | 26 c = c.base; |
24 } while (c); | 27 } while (c); |
25 } | 28 } |