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