Compile with GCC 7.2.0.

This suppresses the noexcept-type warning, since Skia doesn't have a
stable ABI in any event. GCC now warns on more printf style formats,
so we have to hide our bad test formats a little better. GCC now
also warns on implicit enum to bool conversions, which did catch two
issues.

Change-Id: Ib81769c421757186506873f0fe298ecd0106ae87
Reviewed-on: https://skia-review.googlesource.com/114263
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/example/SkiaSDLExample.cpp b/example/SkiaSDLExample.cpp
index 32c59f3..4314296 100644
--- a/example/SkiaSDLExample.cpp
+++ b/example/SkiaSDLExample.cpp
@@ -208,11 +208,12 @@
     info.fFBOID = (GrGLuint) buffer;
     SkColorType colorType;
 
+    //SkDebugf("%s", SDL_GetPixelFormatName(windowFormat));
+    // TODO: the windowFormat is never any of these?
     if (SDL_PIXELFORMAT_RGBA8888 == windowFormat) {
         info.fFormat = GR_GL_RGBA8;
         colorType = kRGBA_8888_SkColorType;
     } else {
-        SkASSERT(SDL_PIXELFORMAT_BGRA8888);
         colorType = kBGRA_8888_SkColorType;
         if (SDL_GL_CONTEXT_PROFILE_ES == contextType) {
             info.fFormat = GR_GL_BGRA8;
diff --git a/gn/BUILD.gn b/gn/BUILD.gn
index 97bb030..f75637a 100644
--- a/gn/BUILD.gn
+++ b/gn/BUILD.gn
@@ -299,7 +299,10 @@
       "-Wno-deprecated-declarations",
       "-Wno-maybe-uninitialized",
     ]
-    cflags_cc += [ "-Wnon-virtual-dtor" ]
+    cflags_cc += [
+      "-Wnon-virtual-dtor",
+      "-Wno-noexcept-type",
+    ]
   }
 
   if (is_clang) {
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index 3041518..3b5f6b2 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -1996,8 +1996,10 @@
     for (int i = 0; i < kGrPixelConfigCnt; ++i) {
         // Make sure we didn't set renderable and not blittable or renderable with msaa and not
         // renderable.
-        SkASSERT(!((ConfigInfo::kRenderable_Flag) && !(ConfigInfo::kFBOColorAttachment_Flag)));
-        SkASSERT(!((ConfigInfo::kRenderableWithMSAA_Flag) && !(ConfigInfo::kRenderable_Flag)));
+        SkASSERT(!((fConfigTable[i].fFlags & ConfigInfo::kRenderable_Flag) &&
+                  !(fConfigTable[i].fFlags & ConfigInfo::kFBOColorAttachment_Flag)));
+        SkASSERT(!((fConfigTable[i].fFlags & ConfigInfo::kRenderableWithMSAA_Flag) &&
+                  !(fConfigTable[i].fFlags & ConfigInfo::kRenderable_Flag)));
         SkASSERT(defaultEntry.fFormats.fBaseInternalFormat !=
                  fConfigTable[i].fFormats.fBaseInternalFormat);
         SkASSERT(defaultEntry.fFormats.fSizedInternalFormat !=
diff --git a/tests/StringTest.cpp b/tests/StringTest.cpp
index 7c0c866..06c18f6 100644
--- a/tests/StringTest.cpp
+++ b/tests/StringTest.cpp
@@ -14,6 +14,8 @@
 #include "SkString.h"
 #include "SkStringUtils.h"
 
+static const char* gThirtyWideDecimal = "%30d";
+
 DEF_TEST(String, reporter) {
     SkString    a;
     SkString    b((size_t)0);
@@ -169,7 +171,7 @@
     REPORTER_ASSERT(reporter, buffer[18] == 'a');
     REPORTER_ASSERT(reporter, buffer[19] == 'a');
     REPORTER_ASSERT(reporter, buffer[20] == 'a');
-    snprintf(buffer, 20, "%30d", 0);
+    snprintf(buffer, 20, gThirtyWideDecimal, 0);
     REPORTER_ASSERT(reporter, buffer[18] == ' ');
     REPORTER_ASSERT(reporter, buffer[19] == 0);
     REPORTER_ASSERT(reporter, buffer[20] == 'a');