diff --git a/bench/MathBench.cpp b/bench/MathBench.cpp
index bdb89ca..5c80dc0 100644
--- a/bench/MathBench.cpp
+++ b/bench/MathBench.cpp
@@ -45,7 +45,7 @@
         return fName.c_str();
     }
 
-    virtual void onDraw(SkCanvas* canvas) {
+    virtual void onDraw(SkCanvas*) {
         int n = SkBENCHLOOP(kLoop * this->mulLoopCount());
         for (int i = 0; i < n; i++) {
             this->performTest(fDst, fSrc, kBuffer);
@@ -271,7 +271,7 @@
     }
 
 protected:
-    virtual void onDraw(SkCanvas* canvas) {
+    virtual void onDraw(SkCanvas*) {
         IsFiniteProc proc = fProc;
         const float* data = fData;
         // do this so the compiler won't throw away the function call
@@ -339,7 +339,7 @@
     virtual void process(float) {}
 
 protected:
-    virtual void onDraw(SkCanvas* canvas) {
+    virtual void onDraw(SkCanvas*) {
         SkRandom rand;
         float accum = 0;
         const float* data = fData;
