Index: src/tests/except-2.c
===================================================================
--- src/tests/except-2.c	(revision 702848305dbc3c1874a6af23196a00b6cbda8a0c)
+++ src/tests/except-2.c	(revision 406a6e6572d4e113abe2d115a3d9521a56db6ea2)
@@ -5,11 +5,13 @@
 
 // Local Exception Types and manual vtable types.
+#define GLUE2(left, right) left##right
+#define GLUE3(left, middle, right) left##middle##right
 #define BASE_EXCEPT __cfaehm__base_exception_t
-#define TABLE(name) name##_vtable
-#define INSTANCE(name) _##name##_vtable_instance
+#define TABLE(name) GLUE2(name,_vtable)
+#define INSTANCE(name) GLUE3(_,name,_vtable_instance)
 #define TRIVIAL_EXCEPTION(name) \
 struct name; \
 struct TABLE(name) { \
-	struct __cfaehm__base_exception_t_vtable const * parent; \
+	struct TABLE(BASE_EXCEPT) const * parent; \
 	size_t size; \
 	void (*copy)(name *this, name * other); \
@@ -28,5 +30,5 @@
 } \
 TABLE(name) INSTANCE(name) @= { \
-	.parent : &INSTANCE(__cfaehm__base_exception_t), \
+	.parent : &INSTANCE(BASE_EXCEPT), \
 	.size : sizeof(name), .copy : name##_copy, \
 	.free : ^?{}, .msg : name##_msg \
@@ -40,5 +42,5 @@
 struct num_error;
 struct num_error_vtable {
-	struct exception_t_vtable const * parent;
+	struct TABLE(BASE_EXCEPT) const * parent;
 	size_t size;
 	void (*copy)(num_error *this, num_error * other);
@@ -62,5 +64,5 @@
 }
 void ?{}(num_error * this, int num) {
-	this->virtual_table = &_num_error_vtable_instance;
+	this->virtual_table = &INSTANCE(num_error);
 	this->msg = 0;
 	this->num = num;
