Enable -Wimplicit-fallthrough for ANGLE.
Also teach MSVC that ANGLE_CRASH() can't return.
Also fix instances of the warning in build configurations where
UNREACHABLE() can return (e.g. release without dcheck_always_on
or debug).
If the UNREACHABLE()s are truly unreachable, this change has
no behavior change.
Bug: chromium:810767
Change-Id: I68f3587cf3e268c3ef634dce7ae3d70399859d0f
Reviewed-on: https://chromium-review.googlesource.com/914842
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
diff --git a/src/compiler/translator/util.cpp b/src/compiler/translator/util.cpp
index 9b70217..5464ec5 100644
--- a/src/compiler/translator/util.cpp
+++ b/src/compiler/translator/util.cpp
@@ -216,6 +216,9 @@
return GL_FLOAT_VEC4;
default:
UNREACHABLE();
+#if !UNREACHABLE_IS_NORETURN
+ return GL_NONE;
+#endif
}
}
else if (type.isMatrix())
@@ -233,6 +236,9 @@
return GL_FLOAT_MAT2x4;
default:
UNREACHABLE();
+#if !UNREACHABLE_IS_NORETURN
+ return GL_NONE;
+#endif
}
case 3:
@@ -246,6 +252,9 @@
return GL_FLOAT_MAT3x4;
default:
UNREACHABLE();
+#if !UNREACHABLE_IS_NORETURN
+ return GL_NONE;
+#endif
}
case 4:
@@ -259,10 +268,16 @@
return GL_FLOAT_MAT4;
default:
UNREACHABLE();
+#if !UNREACHABLE_IS_NORETURN
+ return GL_NONE;
+#endif
}
default:
UNREACHABLE();
+#if !UNREACHABLE_IS_NORETURN
+ return GL_NONE;
+#endif
}
}
else
@@ -284,6 +299,9 @@
return GL_INT_VEC4;
default:
UNREACHABLE();
+#if !UNREACHABLE_IS_NORETURN
+ return GL_NONE;
+#endif
}
}
else
@@ -306,6 +324,9 @@
return GL_UNSIGNED_INT_VEC4;
default:
UNREACHABLE();
+#if !UNREACHABLE_IS_NORETURN
+ return GL_NONE;
+#endif
}
}
else
@@ -328,6 +349,9 @@
return GL_BOOL_VEC4;
default:
UNREACHABLE();
+#if !UNREACHABLE_IS_NORETURN
+ return GL_NONE;
+#endif
}
}
else
@@ -554,7 +578,9 @@
default:
UNREACHABLE();
+#if !UNREACHABLE_IS_NORETURN
return INTERPOLATION_SMOOTH;
+#endif
}
}
@@ -614,7 +640,9 @@
return TType(EbtUInt, 4);
default:
UNREACHABLE();
+#if !UNREACHABLE_IS_NORETURN
return TType();
+#endif
}
}