A recent update to the object wrapper classes (#1268) changed the
behavior of assigning to a wrapper, whereby the wrapped object is now
released upon assignment. A couple of tests were manually calling
clReleaseMemObject and then assigning `nullptr` to the wrapper,
resulting in the wrapper calling clReleaseMemObject on an object that
had already been destroyed.
The last test was also an almost-perfect duplicate of its sibling
in the non-compatibility suite. The only difference was the name
of the member of cl_image_desc used to point to the buffer/memory
object (which changed in 2.x).
We currently always build the conformance tests with the
headers configured for 2.2 (using the default value really) but I've
added code for the pre-2.x name as well for when CL_VERSION_2_0 isn't
defined in case we need it and to keep track of the distinction in that
test.
Contributes to #494.
Signed-off-by: Kevin Petit <kevin.petit@arm.com>