Index: src/libcfa/bits/defs.h
===================================================================
--- src/libcfa/bits/defs.h	(revision ad645207dfc1c6b98de236bd17d00ddefaf6098d)
+++ src/libcfa/bits/defs.h	(revision ae144afd8d86fcc53687ab977a5417093839c24e)
@@ -28,7 +28,7 @@
 
 #ifdef __cforall
-#define __cfa_anonymous_object
+#define __cfa_anonymous_object(x) inline struct x
 #else
-#define __cfa_anonymous_object __cfa_anonymous_object
+#define __cfa_anonymous_object(x) x __cfa_anonymous_object
 #endif
 
Index: src/libcfa/concurrency/invoke.h
===================================================================
--- src/libcfa/concurrency/invoke.h	(revision ad645207dfc1c6b98de236bd17d00ddefaf6098d)
+++ src/libcfa/concurrency/invoke.h	(revision ae144afd8d86fcc53687ab977a5417093839c24e)
@@ -93,5 +93,5 @@
 
 		// list of acceptable functions, null if any
-		__small_array_t(struct __acceptable_t) __cfa_anonymous_object;
+		__cfa_anonymous_object( __small_array_t(struct __acceptable_t) );
 	};
 
@@ -121,5 +121,5 @@
 	struct __monitor_group_t {
 		// currently held monitors
-		__small_array_t(monitor_desc*) __cfa_anonymous_object;
+		__cfa_anonymous_object( __small_array_t(monitor_desc*) );
 
 		// last function that acquired monitors
Index: src/libcfa/concurrency/monitor
===================================================================
--- src/libcfa/concurrency/monitor	(revision ad645207dfc1c6b98de236bd17d00ddefaf6098d)
+++ src/libcfa/concurrency/monitor	(revision ae144afd8d86fcc53687ab977a5417093839c24e)
@@ -138,5 +138,5 @@
 
 struct __acceptable_t {
-	__monitor_group_t;
+	inline struct __monitor_group_t;
 	bool is_dtor;
 };
Index: src/libcfa/containers/result
===================================================================
--- src/libcfa/containers/result	(revision ad645207dfc1c6b98de236bd17d00ddefaf6098d)
+++ src/libcfa/containers/result	(revision ae144afd8d86fcc53687ab977a5417093839c24e)
@@ -28,5 +28,5 @@
 struct result {
 	bool has_value;
-	inner_result(T, E);
+	inline union inner_result(T, E);
 };
 
