Index: src/Common/PassVisitor.h
===================================================================
--- src/Common/PassVisitor.h	(revision 4eb31f2b13d7cf03cdf3f67290325b3cf371535b)
+++ src/Common/PassVisitor.h	(revision 35df5608a5c44c381d42285cef800bb03ab0ce61)
@@ -231,4 +231,6 @@
 	std::list< Statement* > * 	get_beforeStmts() { return stmtsToAddBefore_impl( pass, 0); }
 	std::list< Statement* > * 	get_afterStmts () { return stmtsToAddAfter_impl ( pass, 0); }
+	std::list< Declaration* > * 	get_beforeDecls() { return declsToAddBefore_impl( pass, 0); }
+	std::list< Declaration* > * 	get_afterDecls () { return declsToAddAfter_impl ( pass, 0); }
 	bool visit_children() { bool* skip = skip_children_impl(pass, 0); return ! (skip && *skip); }
 	void reset_visit() { bool* skip = skip_children_impl(pass, 0); if(skip) *skip = false; }
Index: src/Common/PassVisitor.impl.h
===================================================================
--- src/Common/PassVisitor.impl.h	(revision 4eb31f2b13d7cf03cdf3f67290325b3cf371535b)
+++ src/Common/PassVisitor.impl.h	(revision 35df5608a5c44c381d42285cef800bb03ab0ce61)
@@ -348,5 +348,5 @@
 
 //--------------------------------------------------------------------------
-// SwitchStmt
+// CaseStmt
 template< typename pass_type >
 void PassVisitor< pass_type >::visit( CaseStmt * node ) {
Index: src/Common/PassVisitor.proto.h
===================================================================
--- src/Common/PassVisitor.proto.h	(revision 4eb31f2b13d7cf03cdf3f67290325b3cf371535b)
+++ src/Common/PassVisitor.proto.h	(revision 35df5608a5c44c381d42285cef800bb03ab0ce61)
@@ -112,4 +112,6 @@
 FIELD_PTR( std::list< Statement* >, stmtsToAddBefore )
 FIELD_PTR( std::list< Statement* >, stmtsToAddAfter  )
+FIELD_PTR( std::list< Declaration* >, declsToAddBefore )
+FIELD_PTR( std::list< Declaration* >, declsToAddAfter  )
 FIELD_PTR( bool, skip_children )
 FIELD_PTR( at_cleanup_t, at_cleanup )
