Index: src/Concurrency/Keywords.cc
===================================================================
--- src/Concurrency/Keywords.cc	(revision e35f30aa1a6d9c1e9ec668432b5671719a8b5882)
+++ src/Concurrency/Keywords.cc	(revision bd41764cef3326642e00d1a72b925ec627f0d2ed)
@@ -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 e35f30aa1a6d9c1e9ec668432b5671719a8b5882)
+++ src/InitTweak/InitTweak.cc	(revision bd41764cef3326642e00d1a72b925ec627f0d2ed)
@@ -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 ) {
