Index: src/libcfa/bits/defs.h
===================================================================
--- src/libcfa/bits/defs.h	(revision 2e0285177bb7e5cdc2afd200e041b827f132f1a3)
+++ src/libcfa/bits/defs.h	(revision b1672e1c5cb9c30308d9fa20216c709b6ac5be58)
@@ -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 2e0285177bb7e5cdc2afd200e041b827f132f1a3)
+++ src/libcfa/concurrency/invoke.h	(revision b1672e1c5cb9c30308d9fa20216c709b6ac5be58)
@@ -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 2e0285177bb7e5cdc2afd200e041b827f132f1a3)
+++ src/libcfa/concurrency/monitor	(revision b1672e1c5cb9c30308d9fa20216c709b6ac5be58)
@@ -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 2e0285177bb7e5cdc2afd200e041b827f132f1a3)
+++ src/libcfa/containers/result	(revision b1672e1c5cb9c30308d9fa20216c709b6ac5be58)
@@ -28,5 +28,5 @@
 struct result {
 	bool has_value;
-	inner_result(T, E);
+	inline union inner_result(T, E);
 };
 
