diff 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
line wrap: on
line diff
--- a/runtime/internal/invariant.d	Sun May 31 10:41:20 2009 +0200
+++ b/runtime/internal/invariant.d	Sun May 31 14:27:01 2009 +0200
@@ -18,7 +18,10 @@
     {
 	if (c.classInvariant)
 	{
-	    (*c.classInvariant)(o);
+	    void delegate() inv;
+	    inv.ptr = cast(void*) o;
+	    inv.funcptr = c.classInvariant;
+	    inv();
 	}
 	c = c.base;
     } while (c);