Index: src/Validate/Autogen.cpp
===================================================================
--- src/Validate/Autogen.cpp	(revision 7d29089ce266e027efd90b5274730df2b9fbb059)
+++ src/Validate/Autogen.cpp	(revision a0548c298812fe171176559746d6d55e06664ac4)
@@ -402,17 +402,5 @@
 	}
 
-	ast::FunctionDecl * decl = genProto( "^?{}", { dst }, {} );
-	// For concurrent types, remove static storage and inline specifier, and add
-	// cfa_linkonce attribute so the destructor has external linkage with linkonce
-	// semantics. This is required for waitfor to work correctly across translation
-	// units - the function pointer must be the same everywhere, and cfa_linkonce
-	// ensures only one definition survives linking.
-	if ( isConcurrentType() ) {
-		auto mut = ast::mutate( decl );
-		mut->storage = ast::Storage::Classes();
-		mut->funcSpec = ast::Function::Specs();
-		mut->attributes.push_back( new ast::Attribute( "cfa_linkonce" ) );
-	}
-	return decl;
+	return genProto( "^?{}", { dst }, {} );
 }
 
