Index: src/Common/PassVisitor.h
===================================================================
--- src/Common/PassVisitor.h	(revision 33a25f904db2c5a826a55cdb66cfd7d4cc979de3)
+++ src/Common/PassVisitor.h	(revision 9857e8db3b41cbdb308e59c3e43dc20b013a25b7)
@@ -133,4 +133,5 @@
 	virtual void visit( OneType *oneType ) override final;
 
+	virtual void visit( Designation *designation ) override final;
 	virtual void visit( SingleInit *singleInit ) override final;
 	virtual void visit( ListInit *listInit ) override final;
@@ -221,4 +222,5 @@
 	virtual Type* mutate( OneType *oneType ) override final;
 
+	virtual Designation* mutate( Designation *designation ) override final;
 	virtual Initializer* mutate( SingleInit *singleInit ) override final;
 	virtual Initializer* mutate( ListInit *listInit ) override final;
Index: src/Common/PassVisitor.impl.h
===================================================================
--- src/Common/PassVisitor.impl.h	(revision 33a25f904db2c5a826a55cdb66cfd7d4cc979de3)
+++ src/Common/PassVisitor.impl.h	(revision 9857e8db3b41cbdb308e59c3e43dc20b013a25b7)
@@ -1926,4 +1926,22 @@
 }
 
+template< typename pass_type >
+void PassVisitor< pass_type >::visit( Designation * node ) {
+	VISIT_START( node );
+
+	maybeAccept( node->get_designators(), *this );
+
+	VISIT_END( node );
+}
+
+template< typename pass_type >
+Designation * PassVisitor< pass_type >::mutate( Designation * node ) {
+	MUTATE_START( node );
+
+	maybeMutateRef( node->get_designators(), *this );
+
+	MUTATE_END( Designation, node );
+}
+
 //--------------------------------------------------------------------------
 // SingleInit
