Convert some if-else chains to switch statements (#1730)

All of these if-else chains compare against enums, which is better
done using switch statements.  This helps avoid some
`-Wsometimes-uninitialized` warnings of variables that are assigned
inside the switch.

Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
This commit is contained in:
Sven van Haastregt
2023-05-24 11:11:23 +01:00
committed by GitHub
parent 4f62adf1ca
commit 957e3b3985
4 changed files with 110 additions and 104 deletions

View File

@@ -79,20 +79,30 @@ int check_image(cl_command_queue queue, cl_mem mem) {
return -1; return -1;
} }
if (type == CL_MEM_OBJECT_BUFFER) { switch (type)
{
case CL_MEM_OBJECT_BUFFER:
log_error("Expected image object, not buffer.\n"); log_error("Expected image object, not buffer.\n");
return -1; return -1;
} else if (type == CL_MEM_OBJECT_IMAGE2D) { case CL_MEM_OBJECT_IMAGE2D:
error = clGetImageInfo(mem, CL_IMAGE_WIDTH, sizeof(width), &width, NULL); error = clGetImageInfo(mem, CL_IMAGE_WIDTH, sizeof(width), &width,
if (error) { NULL);
print_error(error, "clGetMemObjectInfo failed for CL_IMAGE_WIDTH."); if (error)
{
print_error(error,
"clGetMemObjectInfo failed for CL_IMAGE_WIDTH.");
return -1; return -1;
} }
error = clGetImageInfo(mem, CL_IMAGE_HEIGHT, sizeof(height), &height, NULL); error = clGetImageInfo(mem, CL_IMAGE_HEIGHT, sizeof(height),
if (error) { &height, NULL);
print_error(error, "clGetMemObjectInfo failed for CL_IMAGE_HEIGHT."); if (error)
{
print_error(error,
"clGetMemObjectInfo failed for CL_IMAGE_HEIGHT.");
return -1; return -1;
} }
break;
default: log_error("unexpected object type"); return -1;
} }

View File

@@ -64,16 +64,21 @@ static int test_setargs_and_execution(cl_command_queue queue, cl_kernel kernel,
cl_int status; cl_int status;
const char *typestr; const char *typestr;
if (type == NON_NULL_PATH) { switch (type)
{
case NON_NULL_PATH:
status = clSetKernelArg(kernel, 0, sizeof(cl_mem), &test_buf); status = clSetKernelArg(kernel, 0, sizeof(cl_mem), &test_buf);
typestr = "non-NULL"; typestr = "non-NULL";
} else if (type == ADDROF_NULL_PATH) { break;
case ADDROF_NULL_PATH:
test_buf = NULL; test_buf = NULL;
status = clSetKernelArg(kernel, 0, sizeof(cl_mem), &test_buf); status = clSetKernelArg(kernel, 0, sizeof(cl_mem), &test_buf);
typestr = "&NULL"; typestr = "&NULL";
} else if (type == NULL_PATH) { break;
case NULL_PATH:
status = clSetKernelArg(kernel, 0, sizeof(cl_mem), NULL); status = clSetKernelArg(kernel, 0, sizeof(cl_mem), NULL);
typestr = "NULL"; typestr = "NULL";
break;
} }
log_info("Testing setKernelArgs with %s buffer.\n", typestr); log_info("Testing setKernelArgs with %s buffer.\n", typestr);

View File

@@ -41,60 +41,52 @@ int test_image_type( cl_device_id device, cl_context context, cl_command_queue q
} }
} }
if( testMethod == k1D ) switch (testMethod)
{ {
case k1D:
name = "1D -> 1D"; name = "1D -> 1D";
imageType = CL_MEM_OBJECT_IMAGE1D; imageType = CL_MEM_OBJECT_IMAGE1D;
} break;
else if( testMethod == k2D ) case k2D:
{
name = "2D -> 2D"; name = "2D -> 2D";
imageType = CL_MEM_OBJECT_IMAGE2D; imageType = CL_MEM_OBJECT_IMAGE2D;
} break;
else if( testMethod == k3D ) case k3D:
{
name = "3D -> 3D"; name = "3D -> 3D";
imageType = CL_MEM_OBJECT_IMAGE3D; imageType = CL_MEM_OBJECT_IMAGE3D;
} break;
else if( testMethod == k1DArray ) case k1DArray:
{
name = "1D array -> 1D array"; name = "1D array -> 1D array";
imageType = CL_MEM_OBJECT_IMAGE1D_ARRAY; imageType = CL_MEM_OBJECT_IMAGE1D_ARRAY;
} break;
else if( testMethod == k2DArray ) case k2DArray:
{
name = "2D array -> 2D array"; name = "2D array -> 2D array";
imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY; imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY;
} break;
else if( testMethod == k2DTo3D ) case k2DTo3D:
{
name = "2D -> 3D"; name = "2D -> 3D";
imageType = CL_MEM_OBJECT_IMAGE3D; imageType = CL_MEM_OBJECT_IMAGE3D;
} break;
else if( testMethod == k3DTo2D ) case k3DTo2D:
{
name = "3D -> 2D"; name = "3D -> 2D";
imageType = CL_MEM_OBJECT_IMAGE3D; imageType = CL_MEM_OBJECT_IMAGE3D;
} break;
else if( testMethod == k2DArrayTo2D ) case k2DArrayTo2D:
{
name = "2D array -> 2D"; name = "2D array -> 2D";
imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY; imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY;
} break;
else if( testMethod == k2DTo2DArray ) case k2DTo2DArray:
{
name = "2D -> 2D array"; name = "2D -> 2D array";
imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY; imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY;
} break;
else if( testMethod == k2DArrayTo3D ) case k2DArrayTo3D:
{
name = "2D array -> 3D"; name = "2D array -> 3D";
imageType = CL_MEM_OBJECT_IMAGE3D; imageType = CL_MEM_OBJECT_IMAGE3D;
} break;
else if( testMethod == k3DTo2DArray ) case k3DTo2DArray:
{
name = "3D -> 2D array"; name = "3D -> 2D array";
imageType = CL_MEM_OBJECT_IMAGE3D; imageType = CL_MEM_OBJECT_IMAGE3D;
break;
} }
if(gTestMipmaps) if(gTestMipmaps)

View File

@@ -33,35 +33,34 @@ int test_image_type( cl_device_id device, cl_context context, cl_command_queue q
cl_mem_object_type imageType; cl_mem_object_type imageType;
test_func test_fn; test_func test_fn;
if ( testMethod == k1D ) switch (testMethod)
{ {
case k1D:
name = "1D Image Fill"; name = "1D Image Fill";
imageType = CL_MEM_OBJECT_IMAGE1D; imageType = CL_MEM_OBJECT_IMAGE1D;
test_fn = &test_fill_image_set_1D; test_fn = &test_fill_image_set_1D;
} break;
else if ( testMethod == k2D ) case k2D:
{
name = "2D Image Fill"; name = "2D Image Fill";
imageType = CL_MEM_OBJECT_IMAGE2D; imageType = CL_MEM_OBJECT_IMAGE2D;
test_fn = &test_fill_image_set_2D; test_fn = &test_fill_image_set_2D;
} break;
else if ( testMethod == k1DArray ) case k1DArray:
{
name = "1D Image Array Fill"; name = "1D Image Array Fill";
imageType = CL_MEM_OBJECT_IMAGE1D_ARRAY; imageType = CL_MEM_OBJECT_IMAGE1D_ARRAY;
test_fn = &test_fill_image_set_1D_array; test_fn = &test_fill_image_set_1D_array;
} break;
else if ( testMethod == k2DArray ) case k2DArray:
{
name = "2D Image Array Fill"; name = "2D Image Array Fill";
imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY; imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY;
test_fn = &test_fill_image_set_2D_array; test_fn = &test_fill_image_set_2D_array;
} break;
else if ( testMethod == k3D ) case k3D:
{
name = "3D Image Fill"; name = "3D Image Fill";
imageType = CL_MEM_OBJECT_IMAGE3D; imageType = CL_MEM_OBJECT_IMAGE3D;
test_fn = &test_fill_image_set_3D; test_fn = &test_fill_image_set_3D;
break;
default: log_error("Unhandled method\n"); return -1;
} }
log_info( "Running %s tests...\n", name ); log_info( "Running %s tests...\n", name );