From: Graeme Leese Date: Fri, 23 Jul 2021 18:00:11 +0000 (+0100) Subject: Fix warning in gcc-8 X-Git-Tag: upstream/1.3.5~274^2~7^2~2^2^2~1^2^2~2^2~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8d492299714331fbaff77290ea1fa395f6f21adb;p=platform%2Fupstream%2FVK-GL-CTS.git Fix warning in gcc-8 The code for setting up the output buffer was duplicated into each of the cases for different input types, and the compiler doesn't understand that DE_ASSERT marks an unreachable path. Changing to using standard assert fixes the warning: vktShaderFConvertTests.cpp:541:19: error: ‘outputBufferSizeInfo::memorySizeBytes’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 541 | BufferSizeInfo outputBufferSizeInfo; | ^~~~~~~~~~~~~~~~~~~~ Component: Vulkan Affects: dEQP-VK.glsl.builtin.precision_fconvert.* Change-Id: Icf6302166d8bce7c3ae1447973c895c34465a726 --- diff --git a/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderFConvertTests.cpp b/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderFConvertTests.cpp index f577c66..148bb17 100644 --- a/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderFConvertTests.cpp +++ b/external/vulkancts/modules/vulkan/shaderexecutor/vktShaderFConvertTests.cpp @@ -46,6 +46,7 @@ #include #include #include +#include namespace vkt { @@ -541,71 +542,40 @@ tcu::TestStatus FConvertTestInstance::iterate (void) BufferSizeInfo outputBufferSizeInfo; std::vector inputMemory; - // Calculate buffer sizes and convert input values to a packed input memory format, depending on the input and output types. - switch (m_params.from) + assert(m_params.from == FLOAT_TYPE_16_BITS || m_params.from == FLOAT_TYPE_32_BITS || m_params.from == FLOAT_TYPE_64_BITS); + + if (m_params.from == FLOAT_TYPE_16_BITS) + { + auto& inputValues = InputGenerator::getInstance().getInputValues16(); + inputBufferSizeInfo = BufferSizeInfo::calculate(inputValues.size(), m_params.vectorLength); + inputMemory = packFloats(inputValues, m_params.vectorLength); + } + else if (m_params.from == FLOAT_TYPE_32_BITS) + { + auto& inputValues = InputGenerator::getInstance().getInputValues32(); + inputBufferSizeInfo = BufferSizeInfo::calculate(inputValues.size(), m_params.vectorLength); + inputMemory = packFloats(inputValues, m_params.vectorLength); + } + else + { + auto& inputValues = InputGenerator::getInstance().getInputValues64(); + inputBufferSizeInfo = BufferSizeInfo::calculate(inputValues.size(), m_params.vectorLength); + inputMemory = packFloats(inputValues, m_params.vectorLength); + } + + switch (m_params.to) { case FLOAT_TYPE_16_BITS: - { - auto& inputValues = InputGenerator::getInstance().getInputValues16(); - inputBufferSizeInfo = BufferSizeInfo::calculate(inputValues.size(), m_params.vectorLength); - switch (m_params.to) - { - case FLOAT_TYPE_32_BITS: - outputBufferSizeInfo = BufferSizeInfo::calculate(inputValues.size(), m_params.vectorLength); - break; - case FLOAT_TYPE_64_BITS: - outputBufferSizeInfo = BufferSizeInfo::calculate(inputValues.size(), m_params.vectorLength); - break; - default: - DE_ASSERT(false); - break; - } - inputMemory = packFloats(inputValues, m_params.vectorLength); - } + outputBufferSizeInfo = BufferSizeInfo::calculate(inputBufferSizeInfo.numValues, m_params.vectorLength); break; - case FLOAT_TYPE_32_BITS: - { - auto& inputValues = InputGenerator::getInstance().getInputValues32(); - inputBufferSizeInfo = BufferSizeInfo::calculate(inputValues.size(), m_params.vectorLength); - switch (m_params.to) - { - case FLOAT_TYPE_16_BITS: - outputBufferSizeInfo = BufferSizeInfo::calculate(inputValues.size(), m_params.vectorLength); - break; - case FLOAT_TYPE_64_BITS: - outputBufferSizeInfo = BufferSizeInfo::calculate(inputValues.size(), m_params.vectorLength); - break; - default: - DE_ASSERT(false); - break; - } - inputMemory = packFloats(inputValues, m_params.vectorLength); - } + outputBufferSizeInfo = BufferSizeInfo::calculate(inputBufferSizeInfo.numValues, m_params.vectorLength); break; - case FLOAT_TYPE_64_BITS: - { - auto& inputValues = InputGenerator::getInstance().getInputValues64(); - inputBufferSizeInfo = BufferSizeInfo::calculate(inputValues.size(), m_params.vectorLength); - switch (m_params.to) - { - case FLOAT_TYPE_16_BITS: - outputBufferSizeInfo = BufferSizeInfo::calculate(inputValues.size(), m_params.vectorLength); - break; - case FLOAT_TYPE_32_BITS: - outputBufferSizeInfo = BufferSizeInfo::calculate(inputValues.size(), m_params.vectorLength); - break; - default: - DE_ASSERT(false); - break; - } - inputMemory = packFloats(inputValues, m_params.vectorLength); - } + outputBufferSizeInfo = BufferSizeInfo::calculate(inputBufferSizeInfo.numValues, m_params.vectorLength); break; - default: - DE_ASSERT(false); + assert(false); break; }