From 9d3d5ca4120465ad2eab8f5406531ad912d94435 Mon Sep 17 00:00:00 2001 From: Jim Lewis Date: Mon, 23 Sep 2019 15:01:53 -0500 Subject: [PATCH] cl12 Fix incoming errors overwritten by exit block (#249) (#454) * Fix for Khronos https://github.com/KhronosGroup/OpenCL-CTS/issues/249 where incoming errors are overwritten by exit block * Fix build: move declaration out of exit block --- test_conformance/math_brute_force/macro_unary.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test_conformance/math_brute_force/macro_unary.c b/test_conformance/math_brute_force/macro_unary.c index e71b54a8..2b101c95 100644 --- a/test_conformance/math_brute_force/macro_unary.c +++ b/test_conformance/math_brute_force/macro_unary.c @@ -384,6 +384,7 @@ static cl_int TestFloat( cl_uint job_id, cl_uint thread_id, void *data ) int ftz = job->ftz; cl_uint j, k; cl_int error = CL_SUCCESS; + cl_int ret = CL_SUCCESS; const char *name = job->f->name; int signbit_test = 0; @@ -552,6 +553,7 @@ static cl_int TestFloat( cl_uint job_id, cl_uint thread_id, void *data ) } exit: + ret = error; for( j = gMinVectorSizeIndex; j < gMaxVectorSizeIndex; j++ ) { if( (error = clEnqueueUnmapMemObject( tinfo->tQueue, tinfo->outBuf[j], out[j], 0, NULL, NULL)) ) @@ -562,7 +564,10 @@ exit: } if( (error = clFlush(tinfo->tQueue) )) + { vlog( "clFlush 3 failed\n" ); + return error; + } if( 0 == ( base & 0x0fffffff) ) @@ -571,7 +576,7 @@ exit: fflush(stdout); } - return error; + return ret; } static cl_int TestDouble( cl_uint job_id, cl_uint thread_id, void *data );