Index: src/ResolvExpr/PtrsCastable.cc
===================================================================
--- src/ResolvExpr/PtrsCastable.cc	(revision c5ac6d50679bfa2c0447315ee7255a5bdfb68af2)
+++ src/ResolvExpr/PtrsCastable.cc	(revision af397ef8f0a43077863974fc725f7ae0d12ca892)
@@ -135,7 +135,5 @@
 	}
 
-	void PtrsCastable::visit(TraitInstType *inst) {
-		// I definitely don't think we should be doing anything here
-	}
+	void PtrsCastable::visit( __attribute__((unused)) TraitInstType *inst ) {}
 
 	void PtrsCastable::visit(TypeInstType *inst) {
Index: src/ResolvExpr/Unify.cc
===================================================================
--- src/ResolvExpr/Unify.cc	(revision c5ac6d50679bfa2c0447315ee7255a5bdfb68af2)
+++ src/ResolvExpr/Unify.cc	(revision af397ef8f0a43077863974fc725f7ae0d12ca892)
@@ -388,5 +388,5 @@
 	}
 
-	void Unify::visit(VoidType *voidType) {
+	void Unify::visit( __attribute__((unused)) VoidType *voidType) {
 		result = dynamic_cast< VoidType* >( type2 );
 	}
@@ -737,13 +737,13 @@
 	}
 
-	void Unify::visit(VarArgsType *varArgsType) {
+	void Unify::visit( __attribute__((unused)) VarArgsType *varArgsType ) {
 		result = dynamic_cast< VarArgsType* >( type2 );
 	}
 
-	void Unify::visit(ZeroType *zeroType) {
+	void Unify::visit( __attribute__((unused)) ZeroType *zeroType ) {
 		result = dynamic_cast< ZeroType* >( type2 );
 	}
 
-	void Unify::visit(OneType *oneType) {
+	void Unify::visit( __attribute__((unused)) OneType *oneType ) {
 		result = dynamic_cast< OneType* >( type2 );
 	}
Index: src/SymTab/ImplementationType.cc
===================================================================
--- src/SymTab/ImplementationType.cc	(revision c5ac6d50679bfa2c0447315ee7255a5bdfb68af2)
+++ src/SymTab/ImplementationType.cc	(revision af397ef8f0a43077863974fc725f7ae0d12ca892)
@@ -76,14 +76,5 @@
 	}
 
-	void ImplementationType::visit(FunctionType *functionType) {
-///   FunctionType *newType = functionType->clone();
-///   for ( std::list< DeclarationWithType* >::iterator i = newType->get_parameters().begin(); i != newType->get_parameters().end(); ++i ) {
-///     i->set_type( implementationType( i->get_type(), indexer ) );
-///   }
-///   for ( std::list< DeclarationWithType* >::iterator i = newType->get_parameters().begin(); i != newType->get_parameters().end(); ++i ) {
-///     i->set_type( implementationType( i->get_type(), indexer ) );
-///   }
-	}
-
+	void ImplementationType::visit( __attribute__((unused)) FunctionType *functionType ) {}
 	void ImplementationType::visit( __attribute__((unused)) StructInstType * aggregateUseType ) {}
 	void ImplementationType::visit( __attribute__((unused)) UnionInstType * aggregateUseType ) {}
Index: src/SymTab/Mangler.cc
===================================================================
--- src/SymTab/Mangler.cc	(revision c5ac6d50679bfa2c0447315ee7255a5bdfb68af2)
+++ src/SymTab/Mangler.cc	(revision af397ef8f0a43077863974fc725f7ae0d12ca892)
@@ -236,9 +236,9 @@
 	}
 
-	void Mangler::visit( ZeroType *zeroType ) {
+	void Mangler::visit( __attribute__((unused)) ZeroType *zeroType ) {
 		mangleName << "Z";
 	}
 
-	void Mangler::visit( OneType *oneType ) {
+	void Mangler::visit( __attribute__((unused)) OneType *oneType ) {
 		mangleName << "O";
 	}
Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision c5ac6d50679bfa2c0447315ee7255a5bdfb68af2)
+++ src/SymTab/Validate.cc	(revision af397ef8f0a43077863974fc725f7ae0d12ca892)
@@ -610,5 +610,5 @@
 		returnVals = functionDecl->get_functionType()->get_returnVals();
 	}
-	void ReturnChecker::postvisit( FunctionDecl * functionDecl ) {
+	void ReturnChecker::postvisit( __attribute__((unused)) FunctionDecl * functionDecl ) {
 		returnVals = returnValsStack.top();
 		returnValsStack.pop();
Index: src/SynTree/ZeroOneType.cc
===================================================================
--- src/SynTree/ZeroOneType.cc	(revision c5ac6d50679bfa2c0447315ee7255a5bdfb68af2)
+++ src/SynTree/ZeroOneType.cc	(revision af397ef8f0a43077863974fc725f7ae0d12ca892)
@@ -20,5 +20,5 @@
 ZeroType::ZeroType( Type::Qualifiers tq, const std::list< Attribute * > & attributes ) : Type( tq, attributes ) {}
 
-void ZeroType::print( std::ostream &os, int indent ) const {
+void ZeroType::print( std::ostream &os, __attribute__((unused)) int indent ) const {
 	os << "zero_t";
 }
@@ -28,5 +28,5 @@
 OneType::OneType( Type::Qualifiers tq, const std::list< Attribute * > & attributes ) : Type( tq, attributes ) {}
 
-void OneType::print( std::ostream &os, int indent ) const {
+void OneType::print( std::ostream &os, __attribute__((unused)) int indent ) const {
 	os << "one_t";
 }
Index: src/Tuples/TupleExpansion.cc
===================================================================
--- src/Tuples/TupleExpansion.cc	(revision c5ac6d50679bfa2c0447315ee7255a5bdfb68af2)
+++ src/Tuples/TupleExpansion.cc	(revision af397ef8f0a43077863974fc725f7ae0d12ca892)
@@ -354,5 +354,5 @@
 				maybeImpure = true;
 			}
-			virtual void visit( UntypedExpr * untypedExpr ) { maybeImpure = true; }
+			virtual void visit( __attribute__((unused)) UntypedExpr * untypedExpr ) { maybeImpure = true; }
 			bool maybeImpure = false;
 		};
