diff --git a/gpu/src/GrGLProgram.h b/gpu/src/GrGLProgram.h
index ced3e61..a79f877 100644
--- a/gpu/src/GrGLProgram.h
+++ b/gpu/src/GrGLProgram.h
@@ -125,7 +125,7 @@
             uint8_t fKernelWidth;
 
             inline bool isEnabled() const {
-                return 0 != (fOptFlags & kIsEnabled_OptFlagBit);
+                return SkToBool(fOptFlags & kIsEnabled_OptFlagBit);
             }
             inline void setEnabled(bool newValue) {
                 if (newValue) {
diff --git a/gpu/src/GrGpuGLShaders.cpp b/gpu/src/GrGpuGLShaders.cpp
index 20ecca5..80f0268 100644
--- a/gpu/src/GrGpuGLShaders.cpp
+++ b/gpu/src/GrGpuGLShaders.cpp
@@ -238,9 +238,8 @@
                 }
                 pdesc.fEdgeAANumEdges = 0;
             } else {
-                pdesc.fEdgeAANumEdges = 
-                    static_cast<int8_t>(1 + random.nextF() *
-                                        this->getMaxEdges());
+                pdesc.fEdgeAANumEdges =  SkToS8(1 + random.nextF() *
+                                                this->getMaxEdges());
                 pdesc.fEdgeAAConcave = random.nextF() > .5f;
             }
         } else {
diff --git a/src/animator/SkScriptTokenizer.cpp b/src/animator/SkScriptTokenizer.cpp
index 6502c34..b2b6e4f 100644
--- a/src/animator/SkScriptTokenizer.cpp
+++ b/src/animator/SkScriptTokenizer.cpp
@@ -603,7 +603,7 @@
         }
         if (ch ==  '.') {
             if (fTokenLength == 0) {
-                SkDEBUGCODE(SkScriptValue2 scriptValue);
+                SkDEBUGCODE(SkScriptValue2 scriptValue;)
                 SkDEBUGCODE(scriptValue.fOperand.fObject = NULL);
                 int tokenLength = token_length(++script);
                 const char* token = script;
