Index: src/Concurrency/KeywordsNew.cpp
===================================================================
--- src/Concurrency/KeywordsNew.cpp	(revision 0ec4eb0de68c97e2934a40fde597497c92c62c19)
+++ src/Concurrency/KeywordsNew.cpp	(revision b2ecd4801c2bbbcda494bff1458244b61abd1662)
@@ -534,8 +534,11 @@
 void ConcurrentSueKeyword::addGetRoutines(
 		const ast::ObjectDecl * field, const ast::FunctionDecl * forward ) {
+	// Clone the signature and then build the body.
+	ast::FunctionDecl * decl = ast::deepCopy( forward );
+
 	// Say it is generated at the "same" places as the forward declaration.
-	const CodeLocation & location = forward->location;
-
-	const ast::DeclWithType * param = forward->params.front();
+	const CodeLocation & location = decl->location;
+
+	const ast::DeclWithType * param = decl->params.front();
 	ast::Stmt * stmt = new ast::ReturnStmt( location,
 		new ast::AddressExpr( location,
@@ -551,5 +554,4 @@
 	);
 
-	ast::FunctionDecl * decl = ast::deepCopy( forward );
 	decl->stmts = new ast::CompoundStmt( location, { stmt } );
 	declsToAddAfter.push_back( decl );
Index: src/SymTab/FixFunction.cc
===================================================================
--- src/SymTab/FixFunction.cc	(revision 0ec4eb0de68c97e2934a40fde597497c92c62c19)
+++ src/SymTab/FixFunction.cc	(revision b2ecd4801c2bbbcda494bff1458244b61abd1662)
@@ -109,6 +109,8 @@
 
 		const ast::DeclWithType * postvisit( const ast::FunctionDecl * func ) {
-			return new ast::ObjectDecl{ 
-				func->location, func->name, new ast::PointerType{ func->type }, nullptr, 
+			// Cannot handle cases with asserions.
+			assert( func->assertions.empty() );
+			return new ast::ObjectDecl{
+				func->location, func->name, new ast::PointerType( func->type ), nullptr,
 				func->storage, func->linkage, nullptr, copy( func->attributes ) };
 		}
@@ -117,6 +119,6 @@
 
 		const ast::Type * postvisit( const ast::ArrayType * array ) {
-			return new ast::PointerType{ 
-				array->base, array->dimension, array->isVarLen, array->isStatic, 
+			return new ast::PointerType{
+				array->base, array->dimension, array->isVarLen, array->isStatic,
 				array->qualifiers };
 		}
