Index: src/tests/except-mac.h
===================================================================
--- src/tests/except-mac.h	(revision 8a0a64d9a29f461d2e53a950f0b7b400ab1cfeaa)
+++ src/tests/except-mac.h	(revision ba3706fcc236a2f6c927dc1a9da14313751a7aa4)
@@ -30,5 +30,5 @@
 	size_t size; \
 	void (*copy)(except_name *this, except_name * other); \
-	void (*free)(except_name *this); \
+	void (*free)(except_name &this); \
 	const char * (*msg)(except_name *this); \
 	__VA_ARGS__ \
@@ -42,5 +42,5 @@
 // In each constructor the vtable must be initialized.
 #define VTABLE_INIT(this_name,except_name) \
-this_name->virtual_table = &INSTANCE(except_name)
+this_name.virtual_table = &INSTANCE(except_name)
 
 // Declare the vtable instance. This should end an exception declaration.
@@ -73,5 +73,5 @@
     this->virtual_table = other->virtual_table; \
 } \
-void ?{}(name * this) { \
+void ?{}(name & this) { \
 	VTABLE_INIT(this,name); \
 } \
