diff --git a/gpu/src/GrDrawTarget.cpp b/gpu/src/GrDrawTarget.cpp
index 96afe2f..0f31e9a 100644
--- a/gpu/src/GrDrawTarget.cpp
+++ b/gpu/src/GrDrawTarget.cpp
@@ -243,13 +243,17 @@
                     GrAssert(!VertexUsesStage(s2, tcMask));
                     GrAssert(-1 == VertexTexCoordsForStage(s2, tcMask));
 
+                #if GR_DEBUG
                     GrVertexLayout posAsTex = tcMask | StagePosAsTexCoordVertexLayoutBit(s2);
+                #endif
                     GrAssert(0 == VertexStageCoordOffset(s2, posAsTex));
                     GrAssert(VertexUsesStage(s2, posAsTex));
                     GrAssert(2*sizeof(GrPoint) == VertexSize(posAsTex));
                     GrAssert(-1 == VertexTexCoordsForStage(s2, posAsTex));
                 }
+            #if GR_DEBUG
                 GrVertexLayout withColor = tcMask | kColor_VertexLayoutBit;
+            #endif
                 GrAssert(2*sizeof(GrPoint) == VertexColorOffset(withColor));
                 GrAssert(2*sizeof(GrPoint) + sizeof(GrColor) == VertexSize(withColor));
             }
diff --git a/gpu/src/GrGLUtil.cpp b/gpu/src/GrGLUtil.cpp
index 360e84e..a8f06ba 100644
--- a/gpu/src/GrGLUtil.cpp
+++ b/gpu/src/GrGLUtil.cpp
@@ -15,6 +15,7 @@
  */
 
 #include "GrGLConfig.h"
+#include "GrTypes.h"
 #include <stdio.h>
 
 bool has_gl_extension(const char* ext) {
@@ -74,11 +75,11 @@
 typedef void (*glProc)(void);
 
 #define GET_PROC(EXT_STRUCT, PROC_NAME) \
-    *((glProc*) &(EXT_STRUCT-> PROC_NAME)) = (glProc) GR_GL_PROC_ADDRESS((gl ## PROC_NAME)); \
+    *(GrTCast<glProc*>(&(EXT_STRUCT-> PROC_NAME))) = (glProc)GR_GL_PROC_ADDRESS((gl ## PROC_NAME)); \
     GrAssert(NULL != EXT_STRUCT-> PROC_NAME)
 
 #define GET_SUFFIX_PROC(EXT_STRUCT, PROC_NAME, SUFFIX) \
-    *((glProc*) &(EXT_STRUCT-> PROC_NAME)) = (glProc) GR_GL_PROC_ADDRESS((gl ## PROC_NAME ## SUFFIX)); \
+    *(GrTCast<glProc*>(&(EXT_STRUCT-> PROC_NAME))) = (glProc)GR_GL_PROC_ADDRESS((gl ## PROC_NAME ## SUFFIX)); \
     GrAssert(NULL != EXT_STRUCT-> PROC_NAME)
 
 extern void GrGLInitExtensions(GrGLExts* exts) {
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index 5059569..cc7cb7b 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -465,8 +465,8 @@
         dstPosition->fY = SkScalarToGrScalar(fPoints[i].fY);
     }
 private:
-    int             fCount;
     const SkPoint*  fPoints;
+    int             fCount;
 };
 
 class SkTexCoordSource {
@@ -506,8 +506,8 @@
     }
 
 private:
-    int             fCount;
     const uint16_t* fIndices;
+    int             fCount;
 };
 
 ///////////////////////////////////////////////////////////////////////////////
