diff --git a/lib/Analysis/GRSimpleVals.cpp b/lib/Analysis/GRSimpleVals.cpp
index fe4c1e7..d7ee560 100644
--- a/lib/Analysis/GRSimpleVals.cpp
+++ b/lib/Analysis/GRSimpleVals.cpp
@@ -161,12 +161,12 @@
 // Utility functions.
 //===----------------------------------------------------------------------===//
   
-template <typename ITERATOR> static inline
+template <typename ITERATOR> inline
 ExplodedNode<ValueState>* GetNode(ITERATOR I) {
   return *I;
 }
 
-template <> static inline
+template <> inline
 ExplodedNode<ValueState>* GetNode(GRExprEngine::undef_arg_iterator I) {
   return I->first;
 }
@@ -176,11 +176,11 @@
 //===----------------------------------------------------------------------===//
 
 template <typename ITERATOR>
-static void EmitWarning(Diagnostic& Diag, PathDiagnosticClient* PD,
-                        ASTContext& Ctx, BugReporter& BR,
-                        const BugDescription& Desc,
-                        ExplodedGraph<GRExprEngine>& G,
-                        ITERATOR I, ITERATOR E) {
+void EmitWarning(Diagnostic& Diag, PathDiagnosticClient* PD,
+                 ASTContext& Ctx, BugReporter& BR,
+                 const BugDescription& Desc,
+                 ExplodedGraph<GRExprEngine>& G,
+                 ITERATOR I, ITERATOR E) {
   
   for (; I != E; ++I)
     BR.EmitPathWarning(Diag, PD, Ctx, Desc, G, GetNode(I));
