mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
select: Use MTdataHolder (#1609)
Simplify code by avoiding manual resource management. This fixes use of an uninitialized `d` in the `free_mtdata` call, in the case a `goto exit` was executed before initializing `d`. Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
This commit is contained in:
committed by
GitHub
parent
691a45d605
commit
2318cedb21
@@ -295,7 +295,7 @@ static int doTest(cl_command_queue queue, cl_context context, Type stype, Type c
|
|||||||
{
|
{
|
||||||
int err = CL_SUCCESS;
|
int err = CL_SUCCESS;
|
||||||
int s_test_fail = 0;
|
int s_test_fail = 0;
|
||||||
MTdata d;
|
MTdataHolder d;
|
||||||
const size_t element_count[VECTOR_SIZE_COUNT] = { 1, 2, 3, 4, 8, 16 };
|
const size_t element_count[VECTOR_SIZE_COUNT] = { 1, 2, 3, 4, 8, 16 };
|
||||||
cl_mem src1 = NULL;
|
cl_mem src1 = NULL;
|
||||||
cl_mem src2 = NULL;
|
cl_mem src2 = NULL;
|
||||||
@@ -368,7 +368,7 @@ static int doTest(cl_command_queue queue, cl_context context, Type stype, Type c
|
|||||||
cmp_stride = block_elements * step * (0xffffffffffffffffULL / 0x100000000ULL + 1);
|
cmp_stride = block_elements * step * (0xffffffffffffffffULL / 0x100000000ULL + 1);
|
||||||
|
|
||||||
log_info("Testing...");
|
log_info("Testing...");
|
||||||
d = init_genrand( gRandomSeed );
|
d = MTdataHolder(gRandomSeed);
|
||||||
uint64_t i;
|
uint64_t i;
|
||||||
for (i=0; i < blocks; i+=step)
|
for (i=0; i < blocks; i+=step)
|
||||||
{
|
{
|
||||||
@@ -460,7 +460,6 @@ exit:
|
|||||||
if( ref ) free(ref );
|
if( ref ) free(ref );
|
||||||
if( sref ) free(sref );
|
if( sref ) free(sref );
|
||||||
|
|
||||||
free_mtdata(d);
|
|
||||||
for (vecsize = 0; vecsize < VECTOR_SIZE_COUNT; vecsize++) {
|
for (vecsize = 0; vecsize < VECTOR_SIZE_COUNT; vecsize++) {
|
||||||
clReleaseKernel(kernels[vecsize]);
|
clReleaseKernel(kernels[vecsize]);
|
||||||
clReleaseProgram(programs[vecsize]);
|
clReleaseProgram(programs[vecsize]);
|
||||||
|
|||||||
Reference in New Issue
Block a user