Remove stray semicolons.

Turns out function declarations don't end in semicolons...

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2720

No public API changes.
TBR=reed@google.com

Change-Id: I72b56d52e1ff7fa6e89c295b0de8c46599791ebb
Reviewed-on: https://skia-review.googlesource.com/2720
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
diff --git a/gm/dcshader.cpp b/gm/dcshader.cpp
index e53f5ae..6f273c0 100644
--- a/gm/dcshader.cpp
+++ b/gm/dcshader.cpp
@@ -30,7 +30,7 @@
 public:
     DCShader(const SkMatrix& matrix) : fDeviceMatrix(matrix) {}
 
-    SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(DCShader);
+    SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(DCShader)
 
     void flatten(SkWriteBuffer& buf) const override {
         buf.writeMatrix(fDeviceMatrix);
diff --git a/gn/BUILD.gn b/gn/BUILD.gn
index 614a069..16b9b53 100644
--- a/gn/BUILD.gn
+++ b/gn/BUILD.gn
@@ -99,7 +99,6 @@
         "-Wno-documentation-unknown-command",
         "-Wno-double-promotion",
         "-Wno-exit-time-destructors",  # TODO: OK outside libskia
-        "-Wno-extra-semi",
         "-Wno-float-conversion",
         "-Wno-float-equal",
         "-Wno-format-nonliteral",
diff --git a/include/core/SkBBHFactory.h b/include/core/SkBBHFactory.h
index ca70404..58bd754 100644
--- a/include/core/SkBBHFactory.h
+++ b/include/core/SkBBHFactory.h
@@ -18,7 +18,7 @@
      *  Allocate a new SkBBoxHierarchy. Return NULL on failure.
      */
     virtual SkBBoxHierarchy* operator()(const SkRect& bounds) const = 0;
-    virtual ~SkBBHFactory() {};
+    virtual ~SkBBHFactory() {}
 };
 
 class SK_API SkRTreeFactory : public SkBBHFactory {
diff --git a/include/core/SkPathEffect.h b/include/core/SkPathEffect.h
index c891f6d..f5ca918 100644
--- a/include/core/SkPathEffect.h
+++ b/include/core/SkPathEffect.h
@@ -66,7 +66,7 @@
             fSize.set(SK_Scalar1, SK_Scalar1);
             // 'asPoints' needs to initialize/fill-in 'fClipRect' if it sets
             // the kUseClip flag
-        };
+        }
         ~PointData() {
             delete [] fPoints;
         }
diff --git a/include/core/SkPathRef.h b/include/core/SkPathRef.h
index f84697f..9b15c3e 100644
--- a/include/core/SkPathRef.h
+++ b/include/core/SkPathRef.h
@@ -58,11 +58,11 @@
         SkPoint* atPoint(int i) {
             SkASSERT((unsigned) i < (unsigned) fPathRef->fPointCnt);
             return this->points() + i;
-        };
+        }
         const SkPoint* atPoint(int i) const {
             SkASSERT((unsigned) i < (unsigned) fPathRef->fPointCnt);
             return this->points() + i;
-        };
+        }
 
         /**
          * Adds the verb and allocates space for the number of points indicated by the verb. The
diff --git a/include/gpu/GrCaps.h b/include/gpu/GrCaps.h
index 924546f..b7c91c4 100644
--- a/include/gpu/GrCaps.h
+++ b/include/gpu/GrCaps.h
@@ -74,7 +74,7 @@
     const PrecisionInfo& getFloatShaderPrecisionInfo(GrShaderType shaderType,
                                                      GrSLPrecision precision) const {
         return fFloatPrecisions[shaderType][precision];
-    };
+    }
 
     /**
     * Is there any difference between the float shader variable precision types? If this is true
@@ -84,7 +84,7 @@
     bool floatPrecisionVaries() const { return fShaderPrecisionVaries; }
 
     /**
-     * PLS storage size in bytes (0 when not supported). The PLS spec defines a minimum size of 16 
+     * PLS storage size in bytes (0 when not supported). The PLS spec defines a minimum size of 16
      * bytes whenever PLS is supported.
      */
     int pixelLocalStorageSize() const { return fPixelLocalStorageSize; }
@@ -93,7 +93,7 @@
      * True if this context supports the necessary extensions and features to enable the PLS path
      * renderer.
      */
-    bool plsPathRenderingSupport() const { 
+    bool plsPathRenderingSupport() const {
 #if GR_ENABLE_PLS_PATH_RENDERING
         return fPLSPathRenderingSupport;
 #else
@@ -120,7 +120,7 @@
     bool fPLSPathRenderingSupport;
 
 private:
-    virtual void onApplyOptionsOverrides(const GrContextOptions&) {};
+    virtual void onApplyOptionsOverrides(const GrContextOptions&) {}
     typedef SkRefCnt INHERITED;
 };
 
@@ -280,7 +280,7 @@
 
     bool fullClearIsFree() const { return fFullClearIsFree; }
 
-    /** True in environments that will issue errors if memory uploaded to buffers 
+    /** True in environments that will issue errors if memory uploaded to buffers
         is not initialized (even if not read by draw calls). */
     bool mustClearUploadedBufferData() const { return fMustClearUploadedBufferData; }
 
@@ -344,7 +344,7 @@
     int fMaxWindowRectangles;
 
 private:
-    virtual void onApplyOptionsOverrides(const GrContextOptions&) {};
+    virtual void onApplyOptionsOverrides(const GrContextOptions&) {}
 
     bool fSuppressPrints : 1;
     bool fImmediateFlush: 1;
diff --git a/include/gpu/GrClip.h b/include/gpu/GrClip.h
index a7505f9..12a1343 100644
--- a/include/gpu/GrClip.h
+++ b/include/gpu/GrClip.h
@@ -137,7 +137,7 @@
     bool apply(GrContext*, GrDrawContext*, bool, bool, GrAppliedClip*) const final {
         return true;
     }
-    bool isRRect(const SkRect&, SkRRect*, bool*) const override { return false; };
+    bool isRRect(const SkRect&, SkRRect*, bool*) const override { return false; }
 };
 
 #endif
diff --git a/include/gpu/GrContextOptions.h b/include/gpu/GrContextOptions.h
index 85e1e42..0522b9d 100644
--- a/include/gpu/GrContextOptions.h
+++ b/include/gpu/GrContextOptions.h
@@ -11,7 +11,7 @@
 #include "SkTypes.h"
 
 struct GrContextOptions {
-    GrContextOptions() {};
+    GrContextOptions() {}
 
     // Suppress prints for the GrContext.
     bool fSuppressPrints = false;
diff --git a/include/gpu/GrGpuResource.h b/include/gpu/GrGpuResource.h
index 46e48fc..364a886 100644
--- a/include/gpu/GrGpuResource.h
+++ b/include/gpu/GrGpuResource.h
@@ -260,7 +260,7 @@
      * resources and populate the scratchKey with the key.
      * By default resources are not recycled as scratch.
      **/
-    virtual void computeScratchKey(GrScratchKey*) const { };
+    virtual void computeScratchKey(GrScratchKey*) const { }
 
     /**
      * Frees the object in the underlying 3D API. Called by CacheAccess.
diff --git a/include/private/SkRecords.h b/include/private/SkRecords.h
index f2cade5..e08bf77 100644
--- a/include/private/SkRecords.h
+++ b/include/private/SkRecords.h
@@ -101,7 +101,7 @@
     }
     ~Optional() { if (fPtr) fPtr->~T(); }
 
-    ACT_AS_PTR(fPtr);
+    ACT_AS_PTR(fPtr)
 private:
     T* fPtr;
 };
@@ -118,7 +118,7 @@
     }
     ~Adopted() { if (fPtr) fPtr->~T(); }
 
-    ACT_AS_PTR(fPtr);
+    ACT_AS_PTR(fPtr)
 private:
     T* fPtr;
 };
@@ -131,7 +131,7 @@
     PODArray(T* ptr) : fPtr(ptr) {}
     // Default copy and assign.
 
-    ACT_AS_PTR(fPtr);
+    ACT_AS_PTR(fPtr)
 private:
     T* fPtr;
 };
diff --git a/src/core/SkChunkAlloc.cpp b/src/core/SkChunkAlloc.cpp
index bb52c46..90650a7 100644
--- a/src/core/SkChunkAlloc.cpp
+++ b/src/core/SkChunkAlloc.cpp
@@ -45,7 +45,7 @@
             sk_free(block);
             block = next;
         }
-    };
+    }
 
     bool contains(const void* addr) const {
         const char* ptr = reinterpret_cast<const char*>(addr);
diff --git a/src/core/SkColorMatrixFilterRowMajor255.h b/src/core/SkColorMatrixFilterRowMajor255.h
index 79709b3..c115885 100644
--- a/src/core/SkColorMatrixFilterRowMajor255.h
+++ b/src/core/SkColorMatrixFilterRowMajor255.h
@@ -12,7 +12,7 @@
 
 class SK_API SkColorMatrixFilterRowMajor255 : public SkColorFilter {
 public:
-    SkColorMatrixFilterRowMajor255() {};
+    SkColorMatrixFilterRowMajor255() {}
     explicit SkColorMatrixFilterRowMajor255(const SkScalar array[20]);
 
     /** Creates a color matrix filter that returns the same value in all four channels. */
diff --git a/src/core/SkFindAndPlaceGlyph.h b/src/core/SkFindAndPlaceGlyph.h
index 48cc0fa..257528c 100644
--- a/src/core/SkFindAndPlaceGlyph.h
+++ b/src/core/SkFindAndPlaceGlyph.h
@@ -405,7 +405,7 @@
     template<typename ProcessOneGlyph>
     class GlyphFindAndPlaceInterface : SkNoncopyable {
     public:
-        virtual ~GlyphFindAndPlaceInterface() { };
+        virtual ~GlyphFindAndPlaceInterface() { }
 
         // findAndPositionGlyph calculates the position of the glyph, finds the glyph, and
         // returns the position of where the next glyph will be using the glyph's advance and
@@ -419,7 +419,7 @@
             const char** text, SkPoint position, ProcessOneGlyph&& processOneGlyph) {
             SkFAIL("Should never get here.");
             return {0.0f, 0.0f};
-        };
+        }
     };
 
     // GlyphFindAndPlaceSubpixel handles finding and placing glyphs when sub-pixel positioning is
diff --git a/src/core/SkLinearBitmapPipeline.cpp b/src/core/SkLinearBitmapPipeline.cpp
index 44a3d77..401eb41 100644
--- a/src/core/SkLinearBitmapPipeline.cpp
+++ b/src/core/SkLinearBitmapPipeline.cpp
@@ -413,7 +413,7 @@
         const uint32_t* src = this->pixelAddress(x, y);
         SkOpts::srcover_srgb_srgb(fDest, src, 1, 1);
         fDest += 1;
-    };
+    }
 
     const uint32_t* const fSrc;
     const int32_t         fWidth;
diff --git a/src/core/SkLinearBitmapPipeline_sample.h b/src/core/SkLinearBitmapPipeline_sample.h
index 78e8d67..5f9948c 100644
--- a/src/core/SkLinearBitmapPipeline_sample.h
+++ b/src/core/SkLinearBitmapPipeline_sample.h
@@ -207,7 +207,7 @@
     void get4Pixels(
         const void* src, int index, Sk4f* px0, Sk4f* px1, Sk4f* px2, Sk4f* px3) const {
         fPixelAccessor->get4Pixels(src, index, px0, px1, px2, px3);
-    };
+    }
 
     Sk4f getPixelFromRow(const void* row, int index) const {
         return fPixelAccessor->getPixelFromRow(row, index);
diff --git a/src/core/SkLinearBitmapPipeline_tile.h b/src/core/SkLinearBitmapPipeline_tile.h
index 39d79a0..1e07c22 100644
--- a/src/core/SkLinearBitmapPipeline_tile.h
+++ b/src/core/SkLinearBitmapPipeline_tile.h
@@ -410,7 +410,7 @@
         SkScalar answer = SkMinScalar(SkScalarAbs(unbias), fYsCap[0]);
         SkASSERT(0 <= answer && answer < fYMax);
         return answer;
-    };
+    }
 
 private:
     SkScalar fYMax;
diff --git a/src/core/SkModeColorFilter.h b/src/core/SkModeColorFilter.h
index 01d1eaa..7d4d4cc 100644
--- a/src/core/SkModeColorFilter.h
+++ b/src/core/SkModeColorFilter.h
@@ -45,7 +45,7 @@
         fColor = color;
         fMode = mode;
         this->updateCache();
-    };
+    }
 
     void flatten(SkWriteBuffer&) const override;
 
diff --git a/src/core/SkNormalSource.h b/src/core/SkNormalSource.h
index 84aa9c4..32ef08c 100644
--- a/src/core/SkNormalSource.h
+++ b/src/core/SkNormalSource.h
@@ -33,7 +33,7 @@
 
     class Provider {
     public:
-        virtual ~Provider() {};
+        virtual ~Provider() {}
 
         /** Called for each span of the object being drawn on the CPU. Your subclass should set
             the appropriate normals that correspond to the specified device coordinates.
diff --git a/src/core/SkRWBuffer.cpp b/src/core/SkRWBuffer.cpp
index 8f50c25..07a537a 100644
--- a/src/core/SkRWBuffer.cpp
+++ b/src/core/SkRWBuffer.cpp
@@ -19,7 +19,7 @@
 
     SkBufferBlock(size_t capacity) : fNext(nullptr), fUsed(0), fCapacity(capacity) {}
 
-    const void* startData() const { return this + 1; };
+    const void* startData() const { return this + 1; }
 
     size_t avail() const { return fCapacity - fUsed; }
     void* availData() { return (char*)this->startData() + fUsed; }
diff --git a/src/core/SkResourceCache.h b/src/core/SkResourceCache.h
index a8da4bd..5919336 100644
--- a/src/core/SkResourceCache.h
+++ b/src/core/SkResourceCache.h
@@ -243,7 +243,7 @@
     }
 
     DiscardableFactory discardableFactory() const { return fDiscardableFactory; }
-    SkBitmap::Allocator* allocator() const { return fAllocator; };
+    SkBitmap::Allocator* allocator() const { return fAllocator; }
 
     SkCachedData* newCachedData(size_t bytes);
 
diff --git a/src/core/SkTypeface.cpp b/src/core/SkTypeface.cpp
index 3c4f5cb..8747c6e 100644
--- a/src/core/SkTypeface.cpp
+++ b/src/core/SkTypeface.cpp
@@ -61,8 +61,8 @@
         }
         return 0;
     }
-    int onCountGlyphs() const override { return 0; };
-    int onGetUPEM() const override { return 0; };
+    int onCountGlyphs() const override { return 0; }
+    int onGetUPEM() const override { return 0; }
     class EmptyLocalizedStrings : public SkTypeface::LocalizedStrings {
     public:
         bool next(SkTypeface::LocalizedString*) override { return false; }
@@ -72,7 +72,7 @@
     }
     SkTypeface::LocalizedStrings* onCreateFamilyNameIterator() const override {
         return new EmptyLocalizedStrings;
-    };
+    }
     int onGetTableTags(SkFontTableTag tags[]) const override { return 0; }
     size_t onGetTableData(SkFontTableTag, size_t, size_t, void*) const override {
         return 0;
diff --git a/src/effects/GrCircleBlurFragmentProcessor.h b/src/effects/GrCircleBlurFragmentProcessor.h
index 7754a2e..6607288 100644
--- a/src/effects/GrCircleBlurFragmentProcessor.h
+++ b/src/effects/GrCircleBlurFragmentProcessor.h
@@ -22,7 +22,7 @@
 // profile that is just rotated about the origin of the circle.
 class GrCircleBlurFragmentProcessor : public GrFragmentProcessor {
 public:
-    ~GrCircleBlurFragmentProcessor() override {};
+    ~GrCircleBlurFragmentProcessor() override {}
 
     const char* name() const override { return "CircleBlur"; }
 
diff --git a/src/effects/SkArithmeticMode_gpu.cpp b/src/effects/SkArithmeticMode_gpu.cpp
index 50c46ad..d20ebbe 100644
--- a/src/effects/SkArithmeticMode_gpu.cpp
+++ b/src/effects/SkArithmeticMode_gpu.cpp
@@ -219,7 +219,7 @@
         const ArithmeticXP& arith = processor.cast<ArithmeticXP>();
         pdman.set4f(fKUni, arith.k1(), arith.k2(), arith.k3(), arith.k4());
         fEnforcePMColor = arith.enforcePMColor();
-    };
+    }
 
     GrGLSLProgramDataManager::UniformHandle fKUni;
     bool fEnforcePMColor;
diff --git a/src/effects/SkArithmeticMode_gpu.h b/src/effects/SkArithmeticMode_gpu.h
index 98cbaf9..4704399 100644
--- a/src/effects/SkArithmeticMode_gpu.h
+++ b/src/effects/SkArithmeticMode_gpu.h
@@ -37,7 +37,7 @@
                                                              std::move(dst)));
     }
 
-    ~GrArithmeticFP() override {};
+    ~GrArithmeticFP() override {}
 
     const char* name() const override { return "Arithmetic"; }
 
diff --git a/src/effects/SkBlurMaskFilter.cpp b/src/effects/SkBlurMaskFilter.cpp
index 9d6600f..c32e111 100644
--- a/src/effects/SkBlurMaskFilter.cpp
+++ b/src/effects/SkBlurMaskFilter.cpp
@@ -125,7 +125,7 @@
 
 const SkScalar SkBlurMaskFilterImpl::kMAX_BLUR_SIGMA = SkIntToScalar(128);
 
-sk_sp<SkMaskFilter> SkBlurMaskFilter::Make(SkBlurStyle style, SkScalar sigma, 
+sk_sp<SkMaskFilter> SkBlurMaskFilter::Make(SkBlurStyle style, SkScalar sigma,
                                            const SkRect& occluder, uint32_t flags) {
     if (!SkScalarIsFinite(sigma) || sigma <= 0) {
         return nullptr;
@@ -184,7 +184,7 @@
                 (*num)++;
             }
             break;
-        } 
+        }
     }
 
     return skipMask;
@@ -1072,7 +1072,7 @@
                                            float sigma, float xformedSigma,
                                            const SkRRect& srcRRect, const SkRRect& devRRect);
 
-    virtual ~GrRRectBlurEffect() {};
+    virtual ~GrRRectBlurEffect() {}
     const char* name() const override { return "GrRRectBlur"; }
 
     const SkRRect& getRRect() const { return fRRect; }
@@ -1128,7 +1128,7 @@
         if (!dc) {
             return nullptr;
         }
-                
+
         GrPaint grPaint;
         grPaint.setAntiAlias(doAA);
 
@@ -1175,13 +1175,13 @@
     int ignoredSize;
     uint32_t ignored32;
 
-    bool ninePatchable = SkBlurMaskFilter::ComputeBlurredRRectParams(srcRRect, devRRect, 
+    bool ninePatchable = SkBlurMaskFilter::ComputeBlurredRRectParams(srcRRect, devRRect,
                                                                      SkRect::MakeEmpty(),
                                                                      sigma, xformedSigma,
                                                                      &rrectToDraw, &size,
                                                                      ignored, ignored,
-                                                                     ignored, ignored, 
-                                                                     &ignoredSize, &ignoredSize, 
+                                                                     ignored, ignored,
+                                                                     &ignoredSize, &ignoredSize,
                                                                      &ignored32);
     if (!ninePatchable) {
         return nullptr;
@@ -1423,7 +1423,7 @@
             static const uint16_t fullI[6] = { 0, 1, 2, 0, 2, 3 };
             memcpy(indices, fullI, sizeof(fullI));
             numIndices = 6;
-        } 
+        }
 
         drawContext->drawVertices(clip, newPaint, viewMatrix, kTriangles_GrPrimitiveType,
                                   numPoints, points, nullptr, nullptr, indices, numIndices);
diff --git a/src/effects/SkLightingImageFilter.cpp b/src/effects/SkLightingImageFilter.cpp
index 66d3a17..5627574 100644
--- a/src/effects/SkLightingImageFilter.cpp
+++ b/src/effects/SkLightingImageFilter.cpp
@@ -357,7 +357,7 @@
     }
 
 #if SK_SUPPORT_GPU
-    sk_sp<SkSpecialImage> filterImageGPU(SkSpecialImage* source, 
+    sk_sp<SkSpecialImage> filterImageGPU(SkSpecialImage* source,
                                          SkSpecialImage* input,
                                          const SkIRect& bounds,
                                          const SkMatrix& matrix,
@@ -802,7 +802,7 @@
 
     SkPoint3 surfaceToLight(int x, int y, int z, SkScalar surfaceScale) const {
         return fDirection;
-    };
+    }
     const SkPoint3& lightColor(const SkPoint3&) const { return this->color(); }
     LightType type() const override { return kDistant_LightType; }
     const SkPoint3& direction() const { return fDirection; }
@@ -861,7 +861,7 @@
                                                                        surfaceScale));
         fast_normalize(&direction);
         return direction;
-    };
+    }
     const SkPoint3& lightColor(const SkPoint3&) const { return this->color(); }
     LightType type() const override { return kPoint_LightType; }
     const SkPoint3& location() const { return fLocation; }
@@ -966,7 +966,7 @@
                                                                        surfaceScale));
         fast_normalize(&direction);
         return direction;
-    };
+    }
     SkPoint3 lightColor(const SkPoint3& surfaceToLight) const {
         SkScalar cosAngle = -surfaceToLight.dot(fS);
         SkScalar scale = 0;
@@ -1118,7 +1118,7 @@
                                                                   sk_sp<SkImageFilter> input,
                                                                   const CropRect* cropRect) {
     sk_sp<SkImageFilterLight> light(new SkDistantLight(direction, lightColor));
-    return SkDiffuseLightingImageFilter::Make(std::move(light), surfaceScale, kd, 
+    return SkDiffuseLightingImageFilter::Make(std::move(light), surfaceScale, kd,
                                               std::move(input), cropRect);
 }
 
@@ -1212,7 +1212,7 @@
     if (kd < 0) {
         return nullptr;
     }
-    return sk_sp<SkImageFilter>(new SkDiffuseLightingImageFilter(std::move(light), surfaceScale, 
+    return sk_sp<SkImageFilter>(new SkDiffuseLightingImageFilter(std::move(light), surfaceScale,
                                                                  kd, std::move(input), cropRect));
 }
 
diff --git a/src/effects/SkMagnifierImageFilter.cpp b/src/effects/SkMagnifierImageFilter.cpp
index 4b03125..c546730 100644
--- a/src/effects/SkMagnifierImageFilter.cpp
+++ b/src/effects/SkMagnifierImageFilter.cpp
@@ -42,7 +42,7 @@
                                                                 xInvInset, yInvInset));
     }
 
-    ~GrMagnifierEffect() override {};
+    ~GrMagnifierEffect() override {}
 
     const char* name() const override { return "Magnifier"; }
 
@@ -311,9 +311,9 @@
         offset->fY = bounds.top();
         bounds.offset(-inputOffset);
 
-        SkScalar yOffset = inputTexture->origin() == kTopLeft_GrSurfaceOrigin 
+        SkScalar yOffset = inputTexture->origin() == kTopLeft_GrSurfaceOrigin
             ? fSrcRect.y()
-            : inputTexture->height() - 
+            : inputTexture->height() -
                       fSrcRect.height() * inputTexture->height() / bounds.height() - fSrcRect.y();
         int boundsY = inputTexture->origin() == kTopLeft_GrSurfaceOrigin
             ? bounds.y()
diff --git a/src/gpu/GrAllocator.h b/src/gpu/GrAllocator.h
index 3305fb0..5b9bd5b 100644
--- a/src/gpu/GrAllocator.h
+++ b/src/gpu/GrAllocator.h
@@ -229,7 +229,7 @@
 
 template <typename T> class GrTAllocator : SkNoncopyable {
 public:
-    virtual ~GrTAllocator() { this->reset(); };
+    virtual ~GrTAllocator() { this->reset(); }
 
     /**
      * Create an allocator
diff --git a/src/gpu/GrOvalRenderer.cpp b/src/gpu/GrOvalRenderer.cpp
index 90b2d8e..68b3f11 100644
--- a/src/gpu/GrOvalRenderer.cpp
+++ b/src/gpu/GrOvalRenderer.cpp
@@ -62,7 +62,7 @@
  *             p is the position in the normalized space.
  *             outerRad is the outerRadius in device space.
  *             innerRad is the innerRadius in normalized space (ignored if not stroking).
- * If fUsesDistanceVectorField is set in fragment processors in the same program, then 
+ * If fUsesDistanceVectorField is set in fragment processors in the same program, then
  * an additional vertex attribute is available via args.fFragBuilder->distanceVectorName():
  *    vec4f : (v.xy, outerDistance, innerDistance)
  *             v is a normalized vector pointing to the outer edge
@@ -103,7 +103,7 @@
         fStroke = stroke;
     }
 
-    bool implementsDistanceVector() const override { return !fInClipPlane; };
+    bool implementsDistanceVector() const override { return !fInClipPlane; }
 
     virtual ~CircleGeometryProcessor() {}
 
@@ -1324,7 +1324,7 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 
-// We have three possible cases for geometry for a roundrect. 
+// We have three possible cases for geometry for a roundrect.
 //
 // In the case of a normal fill or a stroke, we draw the roundrect as a 9-patch:
 //    ____________
diff --git a/src/gpu/GrPathUtils.h b/src/gpu/GrPathUtils.h
index cb2da30..fcc32c8 100644
--- a/src/gpu/GrPathUtils.h
+++ b/src/gpu/GrPathUtils.h
@@ -56,7 +56,7 @@
     // points of the quadratic.
     class QuadUVMatrix {
     public:
-        QuadUVMatrix() {};
+        QuadUVMatrix() {}
         // Initialize the matrix from the control pts
         QuadUVMatrix(const SkPoint controlPts[3]) { this->set(controlPts); }
         void set(const SkPoint controlPts[3]);
diff --git a/src/gpu/GrPendingProgramElement.h b/src/gpu/GrPendingProgramElement.h
index 69e459f..ab1f437 100644
--- a/src/gpu/GrPendingProgramElement.h
+++ b/src/gpu/GrPendingProgramElement.h
@@ -18,7 +18,7 @@
  */
 template <typename T> class GrPendingProgramElement : SkNoncopyable {
 public:
-    GrPendingProgramElement() : fObj(nullptr) { };
+    GrPendingProgramElement() : fObj(nullptr) { }
 
     // Adds a pending execution on obj.
     explicit GrPendingProgramElement(T* obj) : fObj(obj)  {
diff --git a/src/gpu/GrPrimitiveProcessor.h b/src/gpu/GrPrimitiveProcessor.h
index c147bb5..00b4df0 100644
--- a/src/gpu/GrPrimitiveProcessor.h
+++ b/src/gpu/GrPrimitiveProcessor.h
@@ -226,7 +226,7 @@
     size_t fVertexStride;
 
 private:
-    void notifyRefCntIsZero() const final {};
+    void notifyRefCntIsZero() const final {}
     virtual bool hasExplicitLocalCoords() const = 0;
 
     typedef GrProcessor INHERITED;
diff --git a/src/gpu/GrTraceMarker.h b/src/gpu/GrTraceMarker.h
index a0e9625..0371121 100644
--- a/src/gpu/GrTraceMarker.h
+++ b/src/gpu/GrTraceMarker.h
@@ -67,7 +67,7 @@
 
 class GrTraceMarkerSet::Iter {
 public:
-    Iter() {};
+    Iter() {}
     Iter& operator=(const Iter& i) {
         fCurrentIndex = i.fCurrentIndex;
         fMarkers = i.fMarkers;
diff --git a/src/gpu/batches/GrAAConvexPathRenderer.cpp b/src/gpu/batches/GrAAConvexPathRenderer.cpp
index 224567a..c71f46d 100644
--- a/src/gpu/batches/GrAAConvexPathRenderer.cpp
+++ b/src/gpu/batches/GrAAConvexPathRenderer.cpp
@@ -55,11 +55,11 @@
     const SkPoint& endPt() const {
         GR_STATIC_ASSERT(0 == kLine && 1 == kQuad);
         return fPts[fType];
-    };
+    }
     const SkPoint& endNorm() const {
         GR_STATIC_ASSERT(0 == kLine && 1 == kQuad);
         return fNorms[fType];
-    };
+    }
 };
 
 typedef SkTArray<Segment, true> SegmentArray;
diff --git a/src/gpu/batches/GrAnalyticRectBatch.cpp b/src/gpu/batches/GrAnalyticRectBatch.cpp
index 8c0f419..311c652 100644
--- a/src/gpu/batches/GrAnalyticRectBatch.cpp
+++ b/src/gpu/batches/GrAnalyticRectBatch.cpp
@@ -63,7 +63,7 @@
         fInWidthHeight = &this->addVertexAttrib("inWidthHeight", kVec2f_GrVertexAttribType);
     }
 
-    bool implementsDistanceVector() const override { return true; };
+    bool implementsDistanceVector() const override { return true; }
 
     const Attribute* inPosition()    const { return fInPosition; }
     const Attribute* inColor()       const { return fInColor; }
diff --git a/src/gpu/effects/Gr1DKernelEffect.h b/src/gpu/effects/Gr1DKernelEffect.h
index d300f2d..d7402e8 100644
--- a/src/gpu/effects/Gr1DKernelEffect.h
+++ b/src/gpu/effects/Gr1DKernelEffect.h
@@ -35,7 +35,7 @@
         , fDirection(direction)
         , fRadius(radius) {}
 
-    virtual ~Gr1DKernelEffect() {};
+    virtual ~Gr1DKernelEffect() {}
 
     static int WidthFromRadius(int radius) { return 2 * radius + 1; }
 
diff --git a/src/gpu/effects/GrCoverageSetOpXP.cpp b/src/gpu/effects/GrCoverageSetOpXP.cpp
index 90657ea..c6abc69 100644
--- a/src/gpu/effects/GrCoverageSetOpXP.cpp
+++ b/src/gpu/effects/GrCoverageSetOpXP.cpp
@@ -68,7 +68,7 @@
         const CoverageSetOpXP& xp = processor.cast<CoverageSetOpXP>();
         uint32_t key = xp.invertCoverage() ?  0x0 : 0x1;
         b->add32(key);
-    };
+    }
 
 private:
     void emitOutputsForBlendState(const EmitArgs& args) override {
@@ -82,7 +82,7 @@
         }
     }
 
-    void onSetData(const GrGLSLProgramDataManager&, const GrXferProcessor&) override {};
+    void onSetData(const GrGLSLProgramDataManager&, const GrXferProcessor&) override {}
 
     typedef GrGLSLXferProcessor INHERITED;
 };
diff --git a/src/gpu/effects/GrDisableColorXP.cpp b/src/gpu/effects/GrDisableColorXP.cpp
index 1ff8ad6..35009e1 100644
--- a/src/gpu/effects/GrDisableColorXP.cpp
+++ b/src/gpu/effects/GrDisableColorXP.cpp
@@ -20,7 +20,7 @@
 public:
     static GrXferProcessor* Create() { return new DisableColorXP; }
 
-    ~DisableColorXP() override {};
+    ~DisableColorXP() override {}
 
     const char* name() const override { return "Disable Color"; }
 
diff --git a/src/gpu/effects/GrDitherEffect.cpp b/src/gpu/effects/GrDitherEffect.cpp
index abce5ca..1fddec6 100644
--- a/src/gpu/effects/GrDitherEffect.cpp
+++ b/src/gpu/effects/GrDitherEffect.cpp
@@ -20,7 +20,7 @@
         return sk_sp<GrFragmentProcessor>(new DitherEffect);
     }
 
-    virtual ~DitherEffect() {};
+    virtual ~DitherEffect() {}
 
     const char* name() const override { return "Dither"; }
 
diff --git a/src/gpu/effects/GrOvalEffect.cpp b/src/gpu/effects/GrOvalEffect.cpp
index a288537..97ea1e6 100644
--- a/src/gpu/effects/GrOvalEffect.cpp
+++ b/src/gpu/effects/GrOvalEffect.cpp
@@ -22,7 +22,7 @@
     static sk_sp<GrFragmentProcessor> Make(GrPrimitiveEdgeType, const SkPoint& center,
                                            SkScalar radius);
 
-    virtual ~CircleEffect() {};
+    virtual ~CircleEffect() {}
 
     const char* name() const override { return "Circle"; }
 
@@ -187,7 +187,7 @@
     static sk_sp<GrFragmentProcessor> Make(GrPrimitiveEdgeType, const SkPoint& center,
                                            SkScalar rx, SkScalar ry);
 
-    virtual ~EllipseEffect() {};
+    virtual ~EllipseEffect() {}
 
     const char* name() const override { return "Ellipse"; }
 
diff --git a/src/gpu/effects/GrPorterDuffXferProcessor.cpp b/src/gpu/effects/GrPorterDuffXferProcessor.cpp
index 7f804bb..f51e94b 100644
--- a/src/gpu/effects/GrPorterDuffXferProcessor.cpp
+++ b/src/gpu/effects/GrPorterDuffXferProcessor.cpp
@@ -439,7 +439,7 @@
         b->add32(xp.getBlendFormula().fPrimaryOutputType |
                  (xp.getBlendFormula().fSecondaryOutputType << 3));
         GR_STATIC_ASSERT(BlendFormula::kLast_OutputType < 8);
-    };
+    }
 
 private:
     void emitOutputsForBlendState(const EmitArgs& args) override {
@@ -641,7 +641,7 @@
                                  args.fInputCoverage);
     }
 
-    void onSetData(const GrGLSLProgramDataManager&, const GrXferProcessor&) override {};
+    void onSetData(const GrGLSLProgramDataManager&, const GrXferProcessor&) override {}
 
     typedef GrGLSLXferProcessor INHERITED;
 };
diff --git a/src/gpu/effects/GrRRectEffect.cpp b/src/gpu/effects/GrRRectEffect.cpp
index 14d03dd..37bb3f8 100644
--- a/src/gpu/effects/GrRRectEffect.cpp
+++ b/src/gpu/effects/GrRRectEffect.cpp
@@ -48,7 +48,7 @@
     static sk_sp<GrFragmentProcessor> Make(GrPrimitiveEdgeType, uint32_t circularCornerFlags,
                                            const SkRRect&);
 
-    virtual ~CircularRRectEffect() {};
+    virtual ~CircularRRectEffect() {}
 
     const char* name() const override { return "CircularRRect"; }
 
@@ -390,7 +390,7 @@
 public:
     static sk_sp<GrFragmentProcessor> Make(GrPrimitiveEdgeType, const SkRRect&);
 
-    virtual ~EllipticalRRectEffect() {};
+    virtual ~EllipticalRRectEffect() {}
 
     const char* name() const override { return "EllipticalRRect"; }
 
diff --git a/src/gpu/gl/GrGLCreateNullInterface.cpp b/src/gpu/gl/GrGLCreateNullInterface.cpp
index b70ca44..61f638b 100644
--- a/src/gpu/gl/GrGLCreateNullInterface.cpp
+++ b/src/gpu/gl/GrGLCreateNullInterface.cpp
@@ -676,7 +676,7 @@
                 SkFAIL("Unexpected pname to GetBufferParamateriv");
                 break;
         }
-    };
+    }
 
     // NV_path_rendering
     GrGLuint genPaths(GrGLsizei range) override {
diff --git a/src/ports/SkFontMgr_android_parser.cpp b/src/ports/SkFontMgr_android_parser.cpp
index f4f7407..306c6ff 100644
--- a/src/ports/SkFontMgr_android_parser.cpp
+++ b/src/ports/SkFontMgr_android_parser.cpp
@@ -98,7 +98,7 @@
         , fDepth(1)
         , fSkip(0)
         , fHandler(&topLevelHandler, 1)
-    { };
+    { }
 
     XML_Parser fParser;                       // The expat parser doing the work, owned by caller
     SkTDArray<FontFamily*>& fFamilies;        // The array to append families, owned by caller
diff --git a/src/ports/SkFontMgr_fontconfig.cpp b/src/ports/SkFontMgr_fontconfig.cpp
index 1e17cb6..1f00558 100644
--- a/src/ports/SkFontMgr_fontconfig.cpp
+++ b/src/ports/SkFontMgr_fontconfig.cpp
@@ -409,7 +409,7 @@
     SkTypeface_stream(std::unique_ptr<SkFontData> data, const SkFontStyle& style, bool fixedWidth)
         : INHERITED(style, fixedWidth)
         , fData(std::move(data))
-    { };
+    { }
 
     void onGetFamilyName(SkString* familyName) const override {
         familyName->reset();
@@ -512,7 +512,7 @@
         : INHERITED(skfontstyle_from_fcpattern(pattern),
                     FC_PROPORTIONAL != get_int(pattern, FC_SPACING, FC_PROPORTIONAL))
         , fPattern(pattern)
-    { };
+    { }
 
     typedef SkTypeface_FreeType INHERITED;
 };
diff --git a/tests/FontMgrTest.cpp b/tests/FontMgrTest.cpp
index da72542..c8c8b94 100644
--- a/tests/FontMgrTest.cpp
+++ b/tests/FontMgrTest.cpp
@@ -138,8 +138,8 @@
             }
             return 0;
         }
-        int onCountGlyphs() const override { return 0; };
-        int onGetUPEM() const override { return 0; };
+        int onCountGlyphs() const override { return 0; }
+        int onGetUPEM() const override { return 0; }
         class EmptyLocalizedStrings : public SkTypeface::LocalizedStrings {
         public:
             bool next(SkTypeface::LocalizedString*) override { return false; }
@@ -149,7 +149,7 @@
         }
         SkTypeface::LocalizedStrings* onCreateFamilyNameIterator() const override {
             return new EmptyLocalizedStrings;
-        };
+        }
         int onGetTableTags(SkFontTableTag tags[]) const override { return 0; }
         size_t onGetTableData(SkFontTableTag, size_t, size_t, void*) const override {
             return 0;
diff --git a/tests/GrMemoryPoolTest.cpp b/tests/GrMemoryPoolTest.cpp
index 1aecce3..4a0a4c6 100644
--- a/tests/GrMemoryPoolTest.cpp
+++ b/tests/GrMemoryPoolTest.cpp
@@ -18,14 +18,14 @@
 // that can be set and checked.
 class A {
 public:
-    A() {};
+    A() {}
     virtual void setValues(int v) {
         fChar = static_cast<char>(v);
     }
     virtual bool checkValues(int v) {
         return fChar == static_cast<char>(v);
     }
-    virtual ~A() {};
+    virtual ~A() {}
 
     void* operator new(size_t size) {
         if (!gPool.get()) {
@@ -63,7 +63,7 @@
 
 class B : public A {
 public:
-    B() {};
+    B() {}
     virtual void setValues(int v) {
         fDouble = static_cast<double>(v);
         this->INHERITED::setValues(v);
@@ -72,7 +72,7 @@
         return fDouble == static_cast<double>(v) &&
                this->INHERITED::checkValues(v);
     }
-    virtual ~B() {};
+    virtual ~B() {}
 
 private:
     double fDouble;
@@ -82,7 +82,7 @@
 
 class C : public A {
 public:
-    C() {};
+    C() {}
     virtual void setValues(int v) {
         fInt64 = static_cast<int64_t>(v);
         this->INHERITED::setValues(v);
@@ -91,7 +91,7 @@
         return fInt64 == static_cast<int64_t>(v) &&
                this->INHERITED::checkValues(v);
     }
-    virtual ~C() {};
+    virtual ~C() {}
 
 private:
     int64_t fInt64;
diff --git a/tests/GrPorterDuffTest.cpp b/tests/GrPorterDuffTest.cpp
index 71db993..845dae1 100644
--- a/tests/GrPorterDuffTest.cpp
+++ b/tests/GrPorterDuffTest.cpp
@@ -1108,7 +1108,7 @@
         const char* name() const override { return "Test LCD Text Batch"; }
         void initBatchTracker(const GrXPOverridesForBatch&) override {}
         bool onCombineIfPossible(GrBatch*, const GrCaps&) override  { return false; }
-        void onPrepareDraws(Target*) const override {};
+        void onPrepareDraws(Target*) const override {}
 
         typedef GrVertexBatch INHERITED;
     } testLCDCoverageBatch;
diff --git a/tests/GrShapeTest.cpp b/tests/GrShapeTest.cpp
index ae96c7d..fc42685 100644
--- a/tests/GrShapeTest.cpp
+++ b/tests/GrShapeTest.cpp
@@ -84,7 +84,7 @@
  */
 class Geo {
 public:
-    virtual ~Geo() {};
+    virtual ~Geo() {}
     virtual GrShape makeShape(const SkPaint&) const = 0;
     virtual SkPath path() const = 0;
     // These functions allow tests to check for special cases where style gets
diff --git a/tests/LayerRasterizerTest.cpp b/tests/LayerRasterizerTest.cpp
index 9d1fb29..dcbfdd1 100644
--- a/tests/LayerRasterizerTest.cpp
+++ b/tests/LayerRasterizerTest.cpp
@@ -33,7 +33,7 @@
 
     static int GetCount() { return gCount; }
 
-    SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(DummyRasterizer);
+    SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(DummyRasterizer)
 
 private:
     static int gCount;
diff --git a/tests/PrimitiveProcessorTest.cpp b/tests/PrimitiveProcessorTest.cpp
index fc53f18..9ca6575 100644
--- a/tests/PrimitiveProcessorTest.cpp
+++ b/tests/PrimitiveProcessorTest.cpp
@@ -58,7 +58,7 @@
                 for (auto i = 0; i < numAttribs; ++i) {
                     this->addVertexAttrib(fAttribNames[i].c_str(), kVec2f_GrVertexAttribType);
                 }
-            };
+            }
             const char* name() const override { return "Dummy GP"; }
 
             GrGLSLPrimitiveProcessor* createGLSLInstance(const GrGLSLCaps&) const override {
diff --git a/tests/QuickRejectTest.cpp b/tests/QuickRejectTest.cpp
index 8f6556b..452aa8b 100644
--- a/tests/QuickRejectTest.cpp
+++ b/tests/QuickRejectTest.cpp
@@ -29,7 +29,7 @@
     }
 #endif
 
-    SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(TestLooper);
+    SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(TestLooper)
 
 private:
     class TestDrawLooperContext : public SkDrawLooper::Context {
diff --git a/tests/RefCntTest.cpp b/tests/RefCntTest.cpp
index 3691593..d5be621 100644
--- a/tests/RefCntTest.cpp
+++ b/tests/RefCntTest.cpp
@@ -334,7 +334,7 @@
 
         struct StructB : public SkRefCnt {
             sk_sp<StructA> a;
-            ~StructB() override {}; // Some clang versions don't emit this implicitly.
+            ~StructB() override {} // Some clang versions don't emit this implicitly.
         };
 
         // Create a reference cycle.
diff --git a/tests/TypefaceTest.cpp b/tests/TypefaceTest.cpp
index 436f129..2a3b32d 100644
--- a/tests/TypefaceTest.cpp
+++ b/tests/TypefaceTest.cpp
@@ -127,13 +127,13 @@
         SK_ABORT("unimplemented");
         return 0;
     }
-    int onCountGlyphs() const override { return 0; };
-    int onGetUPEM() const override { return 0; };
+    int onCountGlyphs() const override { return 0; }
+    int onGetUPEM() const override { return 0; }
     void onGetFamilyName(SkString* familyName) const override { familyName->reset(); }
     SkTypeface::LocalizedStrings* onCreateFamilyNameIterator() const override {
         SK_ABORT("unimplemented");
         return nullptr;
-    };
+    }
     int onGetTableTags(SkFontTableTag tags[]) const override { return 0; }
     size_t onGetTableData(SkFontTableTag, size_t, size_t, void*) const override { return 0; }
 };
diff --git a/tools/debugger/SkOverdrawMode.cpp b/tools/debugger/SkOverdrawMode.cpp
index 58b47ed..b17354e 100644
--- a/tools/debugger/SkOverdrawMode.cpp
+++ b/tools/debugger/SkOverdrawMode.cpp
@@ -192,7 +192,7 @@
                                              outColorSecondary, proc);
     }
 
-    void onSetData(const GrGLSLProgramDataManager&, const GrXferProcessor&) override { };
+    void onSetData(const GrGLSLProgramDataManager&, const GrXferProcessor&) override { }
 
     typedef GrGLSLXferProcessor INHERITED;
 };
diff --git a/tools/gpu/GrContextFactory.h b/tools/gpu/GrContextFactory.h
index d5e87a4..a822ac7 100644
--- a/tools/gpu/GrContextFactory.h
+++ b/tools/gpu/GrContextFactory.h
@@ -24,7 +24,7 @@
     ContextInfo() = default;
     ContextInfo& operator=(const ContextInfo&) = default;
 
-    GrBackend backend() const { return fBackend; };
+    GrBackend backend() const { return fBackend; }
 
     GrContext* grContext() const { return fGrContext; }
 
diff --git a/tools/gpu/GrTest.cpp b/tools/gpu/GrTest.cpp
index 8a64ebc..b99cf06 100644
--- a/tools/gpu/GrTest.cpp
+++ b/tools/gpu/GrTest.cpp
@@ -299,7 +299,7 @@
     bool onCopySurface(GrSurface* dst,
                        GrSurface* src,
                        const SkIRect& srcRect,
-                       const SkIPoint& dstPoint) override { return false; };
+                       const SkIPoint& dstPoint) override { return false; }
 
     void onGetMultisampleSpecs(GrRenderTarget* rt, const GrStencilSettings&,
                                int* effectiveSampleCnt, SamplePattern*) override {
@@ -316,7 +316,7 @@
         return nullptr;
     }
 
-    void drawDebugWireRect(GrRenderTarget*, const SkIRect&, GrColor) override {};
+    void drawDebugWireRect(GrRenderTarget*, const SkIRect&, GrColor) override {}
 
 private:
     void onResetContext(uint32_t resetBits) override {}
diff --git a/tools/gpu/GrTest.h b/tools/gpu/GrTest.h
index 7c94c9f..7b05a05 100644
--- a/tools/gpu/GrTest.h
+++ b/tools/gpu/GrTest.h
@@ -25,7 +25,7 @@
     GrContext. In the future this object may provide some guards to prevent this. */
 class GrTestTarget {
 public:
-    GrTestTarget() {};
+    GrTestTarget() {}
 
     void init(GrContext*, sk_sp<GrDrawContext>);
 
diff --git a/tools/gpu/gl/debug/GrBufferObj.h b/tools/gpu/gl/debug/GrBufferObj.h
index 96aef6e..c91606d 100644
--- a/tools/gpu/gl/debug/GrBufferObj.h
+++ b/tools/gpu/gl/debug/GrBufferObj.h
@@ -14,7 +14,7 @@
 
 ////////////////////////////////////////////////////////////////////////////////
 class GrBufferObj : public GrFakeRefObj {
-    GR_DEFINE_CREATOR(GrBufferObj);
+    GR_DEFINE_CREATOR(GrBufferObj)
 
 public:
     GrBufferObj()
diff --git a/tools/gpu/gl/debug/GrFakeRefObj.h b/tools/gpu/gl/debug/GrFakeRefObj.h
index 3058051..e59aeb3 100644
--- a/tools/gpu/gl/debug/GrFakeRefObj.h
+++ b/tools/gpu/gl/debug/GrFakeRefObj.h
@@ -30,7 +30,7 @@
 
         fID = ++fNextID;
     }
-    virtual ~GrFakeRefObj() {};
+    virtual ~GrFakeRefObj() {}
 
     void ref() {
         fRef++;
diff --git a/tools/gpu/gl/debug/GrFrameBufferObj.h b/tools/gpu/gl/debug/GrFrameBufferObj.h
index 42a0eff..3bd642f 100644
--- a/tools/gpu/gl/debug/GrFrameBufferObj.h
+++ b/tools/gpu/gl/debug/GrFrameBufferObj.h
@@ -16,7 +16,7 @@
 // TODO: when a framebuffer obj is bound the GL_SAMPLES query must return 0
 // TODO: GL_STENCIL_BITS must also be redirected to the framebuffer
 class GrFrameBufferObj : public GrFakeRefObj {
-    GR_DEFINE_CREATOR(GrFrameBufferObj);
+    GR_DEFINE_CREATOR(GrFrameBufferObj)
 
 public:
     GrFrameBufferObj()
diff --git a/tools/gpu/gl/debug/GrProgramObj.h b/tools/gpu/gl/debug/GrProgramObj.h
index a25341a..f4ff9d1 100644
--- a/tools/gpu/gl/debug/GrProgramObj.h
+++ b/tools/gpu/gl/debug/GrProgramObj.h
@@ -15,7 +15,7 @@
 
 ////////////////////////////////////////////////////////////////////////////////
 class GrProgramObj : public GrFakeRefObj {
-    GR_DEFINE_CREATOR(GrProgramObj);
+    GR_DEFINE_CREATOR(GrProgramObj)
 
 public:
     GrProgramObj()
diff --git a/tools/gpu/gl/debug/GrRenderBufferObj.h b/tools/gpu/gl/debug/GrRenderBufferObj.h
index 134b9ec..1802eb5 100644
--- a/tools/gpu/gl/debug/GrRenderBufferObj.h
+++ b/tools/gpu/gl/debug/GrRenderBufferObj.h
@@ -13,7 +13,7 @@
 
 ////////////////////////////////////////////////////////////////////////////////
 class GrRenderBufferObj : public GrFBBindableObj {
-    GR_DEFINE_CREATOR(GrRenderBufferObj);
+    GR_DEFINE_CREATOR(GrRenderBufferObj)
 
 public:
     GrRenderBufferObj()
diff --git a/tools/gpu/gl/debug/GrShaderObj.h b/tools/gpu/gl/debug/GrShaderObj.h
index 327bd7f..8ecb990 100644
--- a/tools/gpu/gl/debug/GrShaderObj.h
+++ b/tools/gpu/gl/debug/GrShaderObj.h
@@ -14,7 +14,7 @@
 
 ////////////////////////////////////////////////////////////////////////////////
 class GrShaderObj : public GrFakeRefObj {
-    GR_DEFINE_CREATOR(GrShaderObj);
+    GR_DEFINE_CREATOR(GrShaderObj)
 
 public:
     GrShaderObj()
diff --git a/tools/gpu/gl/debug/GrTextureObj.h b/tools/gpu/gl/debug/GrTextureObj.h
index fcf851d..e290838 100644
--- a/tools/gpu/gl/debug/GrTextureObj.h
+++ b/tools/gpu/gl/debug/GrTextureObj.h
@@ -15,7 +15,7 @@
 
 ////////////////////////////////////////////////////////////////////////////////
 class GrTextureObj : public GrFBBindableObj {
-    GR_DEFINE_CREATOR(GrTextureObj);
+    GR_DEFINE_CREATOR(GrTextureObj)
 
 public:
     GrTextureObj()
diff --git a/tools/gpu/gl/debug/GrTextureUnitObj.h b/tools/gpu/gl/debug/GrTextureUnitObj.h
index 5c7a039..b06d117 100644
--- a/tools/gpu/gl/debug/GrTextureUnitObj.h
+++ b/tools/gpu/gl/debug/GrTextureUnitObj.h
@@ -16,7 +16,7 @@
 // GL emulation objects they are derived from GrFakeRefObj to provide some
 // uniformity in how the debug interface class manages resources
 class GrTextureUnitObj : public GrFakeRefObj {
-    GR_DEFINE_CREATOR(GrTextureUnitObj);
+    GR_DEFINE_CREATOR(GrTextureUnitObj)
 
 public:
     GrTextureUnitObj()
diff --git a/tools/gpu/gl/debug/GrVertexArrayObj.h b/tools/gpu/gl/debug/GrVertexArrayObj.h
index 989c610..3aeb0b2 100644
--- a/tools/gpu/gl/debug/GrVertexArrayObj.h
+++ b/tools/gpu/gl/debug/GrVertexArrayObj.h
@@ -11,7 +11,7 @@
 #include "GrFakeRefObj.h"
 
 class GrVertexArrayObj : public GrFakeRefObj {
-    GR_DEFINE_CREATOR(GrVertexArrayObj);
+    GR_DEFINE_CREATOR(GrVertexArrayObj)
 
 public:
     GrVertexArrayObj() : GrFakeRefObj() {}
diff --git a/tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp b/tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp
index 9cff0b7..b8e1996 100644
--- a/tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp
+++ b/tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp
@@ -74,7 +74,7 @@
 static Display* get_display() {
     class AutoDisplay {
     public:
-        AutoDisplay() { fDisplay = XOpenDisplay(nullptr); };
+        AutoDisplay() { fDisplay = XOpenDisplay(nullptr); }
         ~AutoDisplay() {
             if (fDisplay) {
                 XCloseDisplay(fDisplay);
diff --git a/tools/gpu/gl/null/NullGLTestContext.cpp b/tools/gpu/gl/null/NullGLTestContext.cpp
index 56236a4..dcb6231 100644
--- a/tools/gpu/gl/null/NullGLTestContext.cpp
+++ b/tools/gpu/gl/null/NullGLTestContext.cpp
@@ -21,7 +21,7 @@
    ~NullGLContext() override { this->teardown(); }
 
 private:
-    void onPlatformMakeCurrent() const override {};
+    void onPlatformMakeCurrent() const override {}
     void onPlatformSwapBuffers() const override {}
     GrGLFuncPtr onPlatformGetProcAddress(const char*) const override { return nullptr; }
 };