Commit 1bffabe8 by Peter Kasting Committed by Angle LUCI CQ

Fix -Wunreachable-code-aggressive.

Bug: chromium:1066980 Change-Id: I1fa08a40dbf223d60a10681af33ca8a29b12bf8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2991094Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
parent 16c993c3
......@@ -285,9 +285,18 @@ angle_source_set("includes") {
}
}
config("disable_unreachable_code_break_warning") {
if (is_clang) {
cflags = [ "-Wno-unreachable-code-break" ]
}
}
angle_static_library("preprocessor") {
sources = angle_preprocessor_sources
# preprocessor_tab_autogen.cpp contains an instance of this.
configs += [ ":disable_unreachable_code_break_warning" ]
public_deps = [
":angle_common",
":angle_translator_headers",
......
......@@ -562,7 +562,6 @@ TIntermTyped *ShaderStorageBlockOutputHLSL::traverseNode(TInfoSinkBase &out,
// We do not currently support indirect references to interface blocks
ASSERT(binaryNode->getLeft()->getBasicType() != EbtInterfaceBlock);
return writeEOpIndexDirectOrIndirectOutput(out, binaryNode, blockMemberInfo);
break;
}
case EOpIndexDirectStruct:
{
......@@ -573,7 +572,6 @@ TIntermTyped *ShaderStorageBlockOutputHLSL::traverseNode(TInfoSinkBase &out,
const TIntermConstantUnion *index = binaryNode->getRight()->getAsConstantUnion();
const TField *field = structure->fields()[index->getIConst(0)];
return Add(createFieldOffset(field, blockMemberInfo), left);
break;
}
case EOpIndexDirectInterfaceBlock:
{
......@@ -584,7 +582,6 @@ TIntermTyped *ShaderStorageBlockOutputHLSL::traverseNode(TInfoSinkBase &out,
const TIntermConstantUnion *index = binaryNode->getRight()->getAsConstantUnion();
const TField *field = interfaceBlock->fields()[index->getIConst(0)];
return createFieldOffset(field, blockMemberInfo);
break;
}
default:
return nullptr;
......
......@@ -257,17 +257,22 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib displayType,
{
case EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE:
UNREACHABLE();
#if !UNREACHABLE_IS_NORETURN
break;
#endif
case EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE:
case EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE:
#if defined(ANGLE_ENABLE_D3D9) || defined(ANGLE_ENABLE_D3D11)
impl = new rx::DisplayD3D(state);
break;
#else
// A D3D display was requested on a platform that doesn't support it
UNREACHABLE();
#endif
# if !UNREACHABLE_IS_NORETURN
break;
# endif
#endif
case EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE:
#if defined(ANGLE_ENABLE_OPENGL)
......@@ -294,27 +299,31 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib displayType,
impl = new rx::DisplayEGL(state);
break;
}
else
{
# if defined(ANGLE_USE_X11)
if (platformType == EGL_PLATFORM_X11_EXT)
{
impl = new rx::DisplayGLX(state);
break;
}
# endif
if (platformType == EGL_PLATFORM_X11_EXT)
{
impl = new rx::DisplayGLX(state);
break;
}
# endif
break;
# elif defined(ANGLE_PLATFORM_ANDROID)
// No GL support on this platform, fail display creation.
impl = nullptr;
break;
# else
# error Unsupported OpenGL platform.
# endif
#else
// No display available
UNREACHABLE();
#endif // defined(ANGLE_ENABLE_OPENGL)
# if !UNREACHABLE_IS_NORETURN
break;
# endif
#endif // defined(ANGLE_ENABLE_OPENGL)
case EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE:
#if defined(ANGLE_ENABLE_OPENGL)
......@@ -361,6 +370,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib displayType,
{
impl = rx::CreateVulkanWin32Display(state);
}
break;
# elif defined(ANGLE_PLATFORM_LINUX)
# if defined(ANGLE_USE_X11)
if (platformType == EGL_PLATFORM_X11_EXT && rx::IsVulkanXcbDisplayAvailable())
......@@ -368,6 +378,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib displayType,
impl = rx::CreateVulkanXcbDisplay(state);
break;
}
break;
# elif defined(ANGLE_USE_VULKAN_DISPLAY)
if (platformType == EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE &&
rx::IsVulkanSimpleDisplayAvailable())
......@@ -391,29 +402,36 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib displayType,
{
impl = rx::CreateVulkanAndroidDisplay(state);
}
break;
# elif defined(ANGLE_PLATFORM_FUCHSIA)
if (rx::IsVulkanFuchsiaDisplayAvailable())
{
impl = rx::CreateVulkanFuchsiaDisplay(state);
}
break;
# elif defined(ANGLE_PLATFORM_GGP)
if (rx::IsVulkanGGPDisplayAvailable())
{
impl = rx::CreateVulkanGGPDisplay(state);
}
break;
# elif defined(ANGLE_PLATFORM_APPLE)
if (rx::IsVulkanMacDisplayAvailable())
{
impl = rx::CreateVulkanMacDisplay(state);
}
break;
# else
# error Unsupported Vulkan platform.
# endif
#else
// No display available
UNREACHABLE();
#endif // defined(ANGLE_ENABLE_VULKAN)
# if !UNREACHABLE_IS_NORETURN
break;
# endif
#endif // defined(ANGLE_ENABLE_VULKAN)
case EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE:
#if defined(ANGLE_ENABLE_METAL)
if (rx::IsMetalDisplayAvailable())
......@@ -424,19 +442,27 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib displayType,
#endif
// No display available
UNREACHABLE();
#if !UNREACHABLE_IS_NORETURN
break;
#endif
case EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE:
#if defined(ANGLE_ENABLE_NULL)
impl = new rx::DisplayNULL(state);
break;
#else
// No display available
UNREACHABLE();
#endif // defined(ANGLE_ENABLE_NULL)
# if !UNREACHABLE_IS_NORETURN
break;
# endif
#endif // defined(ANGLE_ENABLE_NULL)
default:
UNREACHABLE();
#if !UNREACHABLE_IS_NORETURN
break;
#endif
}
return impl;
......
......@@ -1418,11 +1418,7 @@ Blit11::BlitShaderOperation Blit11::getBlitShaderOperation(GLenum destinationFor
{
return RGBAF_TOI;
}
else
{
return unpackPremultiplyAlpha ? RGBAF_TOI_PREMULTIPLY : RGBAF_TOI_UNMULTIPLY;
}
break;
return unpackPremultiplyAlpha ? RGBAF_TOI_PREMULTIPLY : RGBAF_TOI_UNMULTIPLY;
case GL_RGB_INTEGER:
case GL_RG_INTEGER:
case GL_RED_INTEGER:
......@@ -1430,11 +1426,7 @@ Blit11::BlitShaderOperation Blit11::getBlitShaderOperation(GLenum destinationFor
{
return RGBF_TOI;
}
else
{
return unpackPremultiplyAlpha ? RGBF_TOI_PREMULTIPLY : RGBF_TOI_UNMULTIPLY;
}
break;
return unpackPremultiplyAlpha ? RGBF_TOI_PREMULTIPLY : RGBF_TOI_UNMULTIPLY;
default:
UNREACHABLE();
return OPERATION_INVALID;
......
......@@ -849,7 +849,6 @@ std::array<GLint, 3> GetMaxComputeWorkGroupCount(D3D_FEATURE_LEVEL featureLevel)
return {{D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION,
D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION,
D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION}};
break;
default:
return {{0, 0, 0}};
}
......@@ -863,7 +862,6 @@ std::array<GLint, 3> GetMaxComputeWorkGroupSize(D3D_FEATURE_LEVEL featureLevel)
case D3D_FEATURE_LEVEL_11_0:
return {{D3D11_CS_THREAD_GROUP_MAX_X, D3D11_CS_THREAD_GROUP_MAX_Y,
D3D11_CS_THREAD_GROUP_MAX_Z}};
break;
default:
return {{0, 0, 0}};
}
......
......@@ -2052,7 +2052,6 @@ bool ValidateCreateContext(const ValidationContext *val,
default:
val->setError(EGL_BAD_ATTRIBUTE);
return false;
break;
}
// Note: EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR does not apply to ES
......
......@@ -3010,7 +3010,6 @@ const InternalFormat &GetTargetFormatInfo(const Context *context,
{
Renderbuffer *buffer = context->getRenderbuffer(PackParam<RenderbufferID>(name));
return *buffer->getFormat().info;
break;
}
case GL_TEXTURE_2D:
case GL_TEXTURE_3D:
......@@ -3113,7 +3112,6 @@ bool ValidateCopyMixedFormatCompatible(GLenum uncompressedFormat, GLenum compres
default:
return false;
}
break;
}
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
case GL_COMPRESSED_SRGB_S3TC_DXT1_EXT:
......@@ -3140,7 +3138,6 @@ bool ValidateCopyMixedFormatCompatible(GLenum uncompressedFormat, GLenum compres
default:
return false;
}
break;
}
default:
break;
......
......@@ -385,7 +385,6 @@ bool ValidateFogCommon(const Context *context, GLenum pname, const GLfloat *para
return false;
}
}
break;
case GL_FOG_START:
case GL_FOG_END:
case GL_FOG_COLOR:
......
......@@ -1319,12 +1319,8 @@ bool ValidateES2TexImageParametersBase(const Context *context,
context->validationError(GL_INVALID_OPERATION, kInvalidFormat);
return false;
}
else
{
context->validationError(GL_INVALID_ENUM, kEnumNotSupported);
return false;
}
break;
context->validationError(GL_INVALID_ENUM, kEnumNotSupported);
return false;
case GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE:
if (context->getExtensions().textureCompressionDXT3)
{
......
......@@ -1273,7 +1273,6 @@ TEST_P(ProgramBinariesAcrossPlatforms, CreateAndReloadBinary)
if (eglWindow == nullptr)
{
FAIL() << "Failed to create EGL window";
return;
}
// If the test is trying to use both the default GPU and WARP, but the default GPU *IS* WARP,
......@@ -1330,7 +1329,6 @@ TEST_P(ProgramBinariesAcrossPlatforms, CreateAndReloadBinary)
if (eglWindow == nullptr)
{
FAIL() << "Failed to create EGL window";
return;
}
program = glCreateProgram();
......
......@@ -516,7 +516,7 @@ void DrawCallPerfBenchmark::drawBenchmark()
getWindow()->getHeight());
break;
case StateChange::InvalidEnum:
FAIL() << "Invalid state change.";
ADD_FAILURE() << "Invalid state change.";
break;
}
......
......@@ -317,7 +317,6 @@ TEST_P(GPUTestExpectationsParserTest, GPUTestExpectationsParserUnimplementedCond
if (GetParam() == ConditionTestType::OnGet)
{
GTEST_SKIP() << "Test does not apply when loading all expectations.";
return;
}
std::string line =
......
......@@ -581,7 +581,6 @@ void ANGLETestBase::ANGLETestSetUp()
if (testExpectation == GPUTestExpectationsParser::kGpuTestSkip)
{
GTEST_SKIP() << "Test skipped on this config";
return;
}
if (IsWindows())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment