Index: src/Concurrency/Keywords.cc
===================================================================
--- src/Concurrency/Keywords.cc	(revision 3f7e12cbec9518fa8ae8e76d3e2e6f7cd15d0d2a)
+++ src/Concurrency/Keywords.cc	(revision 954908d626141a4efd01f89eddf95232bfd6ef42)
@@ -553,5 +553,5 @@
 			),
 			new ListInit(
-				map_range < std::list<Initializer*> > ( args, [this](DeclarationWithType * var ){
+				map_range < std::list<Initializer*> > ( args, [](DeclarationWithType * var ){
 					Type * type = var->get_type()->clone();
 					type->set_mutex( false );
Index: src/InitTweak/InitTweak.cc
===================================================================
--- src/InitTweak/InitTweak.cc	(revision 3f7e12cbec9518fa8ae8e76d3e2e6f7cd15d0d2a)
+++ src/InitTweak/InitTweak.cc	(revision 954908d626141a4efd01f89eddf95232bfd6ef42)
@@ -105,4 +105,5 @@
 	public:
 		InitImpl( Initializer * init ) : init( init ) {}
+		virtual ~InitImpl() = default;
 
 		virtual std::list< Expression * > next( __attribute((unused)) std::list< Expression * > & indices ) {
@@ -121,6 +122,5 @@
 	public:
 		ExprImpl( Expression * expr ) : arg( expr ) {}
-
-		~ExprImpl() { delete arg; }
+		virtual ~ExprImpl() { delete arg; }
 
 		virtual std::list< Expression * > next( std::list< Expression * > & indices ) {
