Fix implicit fallthrough warnings treated as errors
Ideally we'd use the [[fallthrough]] attribute to silence this, but that
isn't supported until C++17 and we're sticking with C++11 for now.
Bug b/120382288
Change-Id: I98f28e42505ed496b0b35c29a7dc03fca18cf4ff
Reviewed-on: https://swiftshader-review.googlesource.com/c/23128
Reviewed-by: Greg Hartman <ghartman@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Android.bp b/src/Android.bp
index f246233..9dbc324 100644
--- a/src/Android.bp
+++ b/src/Android.bp
@@ -32,6 +32,7 @@
"-DNO_SANITIZE_FUNCTION=",
// FIXME: Use <android/api-level.h> instead?
"-DANDROID_PLATFORM_SDK_VERSION=10000",
+ "-Wno-implicit-fallthrough",
"-Wno-unused-parameter",
"-Wno-unused-local-typedef",
],
diff --git a/src/Android.mk b/src/Android.mk
index 5f94583..1c76c7b 100644
--- a/src/Android.mk
+++ b/src/Android.mk
@@ -128,6 +128,7 @@
-Wno-unused-value \
-Wno-unused-variable \
-Wno-implicit-exception-spec-mismatch \
+ -Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-non-virtual-dtor \
-Wno-attributes \
diff --git a/src/OpenGL/compiler/Android.mk b/src/OpenGL/compiler/Android.mk
index 07d9b6c..bc9d439 100644
--- a/src/OpenGL/compiler/Android.mk
+++ b/src/OpenGL/compiler/Android.mk
@@ -29,6 +29,7 @@
-Wno-unused-parameter \
-Wno-unused-variable \
-Wno-implicit-exception-spec-mismatch \
+ -Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-attributes \
-Wno-unknown-attributes \
diff --git a/src/OpenGL/libEGL/Android.mk b/src/OpenGL/libEGL/Android.mk
index 4ade568..7b52ed6 100644
--- a/src/OpenGL/libEGL/Android.mk
+++ b/src/OpenGL/libEGL/Android.mk
@@ -13,6 +13,7 @@
-Wno-unused-function \
-Wno-unused-parameter \
-Wno-implicit-exception-spec-mismatch \
+ -Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-attributes \
-Wno-unknown-attributes \
diff --git a/src/OpenGL/libGLES_CM/Android.mk b/src/OpenGL/libGLES_CM/Android.mk
index 6240d5d..4fb2c47 100644
--- a/src/OpenGL/libGLES_CM/Android.mk
+++ b/src/OpenGL/libGLES_CM/Android.mk
@@ -20,6 +20,7 @@
-Wno-unused-parameter \
-Wno-unused-variable \
-Wno-implicit-exception-spec-mismatch \
+ -Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-attributes \
-Wno-unknown-attributes \
diff --git a/src/OpenGL/libGLESv2/Android.mk b/src/OpenGL/libGLESv2/Android.mk
index 2368bd5..a34c9db 100644
--- a/src/OpenGL/libGLESv2/Android.mk
+++ b/src/OpenGL/libGLESv2/Android.mk
@@ -20,6 +20,7 @@
-Wno-unused-private-field \
-Wno-unused-variable \
-Wno-implicit-exception-spec-mismatch \
+ -Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-attributes \
-Wno-unknown-attributes \
diff --git a/src/OpenGL/libGLESv2/libGLESv2.cpp b/src/OpenGL/libGLESv2/libGLESv2.cpp
index fd856e5..a58563e 100644
--- a/src/OpenGL/libGLESv2/libGLESv2.cpp
+++ b/src/OpenGL/libGLESv2/libGLESv2.cpp
@@ -5624,6 +5624,8 @@
case GL_FLOAT:
case GL_HALF_FLOAT_OES: // GL_OES_vertex_half_float
case GL_HALF_FLOAT:
+ case GL_INT:
+ case GL_UNSIGNED_INT:
break;
case GL_INT_2_10_10_10_REV:
case GL_UNSIGNED_INT_2_10_10_10_REV:
@@ -5631,8 +5633,6 @@
{
return error(GL_INVALID_OPERATION);
}
- case GL_INT:
- case GL_UNSIGNED_INT:
break;
default:
return error(GL_INVALID_ENUM);
diff --git a/src/Reactor/Android.mk b/src/Reactor/Android.mk
index e21d196..2fe0230 100644
--- a/src/Reactor/Android.mk
+++ b/src/Reactor/Android.mk
@@ -116,6 +116,7 @@
-Wno-unused-lambda-capture \
-Wno-unused-parameter \
-Wno-implicit-exception-spec-mismatch \
+ -Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-non-virtual-dtor \
-Wno-unknown-warning-option \
diff --git a/third_party/LLVM/Android.bp b/third_party/LLVM/Android.bp
index 93be07d..a5be4ab 100644
--- a/third_party/LLVM/Android.bp
+++ b/third_party/LLVM/Android.bp
@@ -59,6 +59,7 @@
"-D__STDC_CONSTANT_MACROS",
"-D__STDC_FORMAT_MACROS",
"-DLOG_TAG=\"libLLVM_swiftshader\"",
+ "-Wno-implicit-fallthrough",
"-Wno-unused-result",
"-Wno-unused-function",
"-Wno-unused-variable",
diff --git a/third_party/LLVM/Android.mk b/third_party/LLVM/Android.mk
index a07ca23..23f7d78 100644
--- a/third_party/LLVM/Android.mk
+++ b/third_party/LLVM/Android.mk
@@ -401,6 +401,7 @@
-Wall \
-Werror \
-Wno-implicit-exception-spec-mismatch \
+ -Wno-implicit-fallthrough \
-Wno-overloaded-virtual \
-Wno-undefined-var-template \
-Wno-unneeded-internal-declaration \
diff --git a/third_party/llvm-subzero/Android.bp b/third_party/llvm-subzero/Android.bp
index 854fa8d..72c9b32 100644
--- a/third_party/llvm-subzero/Android.bp
+++ b/third_party/llvm-subzero/Android.bp
@@ -28,6 +28,7 @@
"-D__STDC_CONSTANT_MACROS",
"-D__STDC_FORMAT_MACROS",
"-DLOG_TAG=\"libsubzero\"",
+ "-Wno-implicit-fallthrough",
"-Wno-unused-parameter",
],
diff --git a/third_party/subzero/Android.bp b/third_party/subzero/Android.bp
index b0c0c5d..c51b73c 100644
--- a/third_party/subzero/Android.bp
+++ b/third_party/subzero/Android.bp
@@ -28,6 +28,7 @@
"-D__STDC_CONSTANT_MACROS",
"-D__STDC_FORMAT_MACROS",
"-DLOG_TAG=\"libsubzero\"",
+ "-Wno-implicit-fallthrough",
"-Wno-unused-parameter",
"-Wno-undefined-var-template",
"-Wno-unused-lambda-capture",