third_party_opencl-headers/tests
Brice Videau 18eaa39c9c
Move cl_icd_layer.h from OpenCL-ICD-Loader to OpenCL-Headers. (#148)
* Move cl_icd_layer.h from OpenCL-ICD-Loader to OpenCL-Headers.

* Added test for cl_icd_layer.h single inclusion.

* Added missing test_cl_icd_layer.h.c file.

* Changed include guard to non reserved identifier.

* Renamed cl_icd_layer.h to cl_layer.h.

* Fix tests and guard.
2021-02-11 15:16:32 -08:00
..
conan Comprehensive CMake Package Config support (#107) 2020-11-24 19:18:58 +01:00
pkgconfig Comprehensive CMake Package Config support (#107) 2020-11-24 19:18:58 +01:00
CMakeLists.txt Move cl_icd_layer.h from OpenCL-ICD-Loader to OpenCL-Headers. (#148) 2021-02-11 15:16:32 -08:00
README.md Add tests and Travis CI config (#64) 2020-01-23 12:21:48 +00:00
test_cl_egl.h.c Add tests and Travis CI config (#64) 2020-01-23 12:21:48 +00:00
test_cl_ext_intel.h.c Add tests and Travis CI config (#64) 2020-01-23 12:21:48 +00:00
test_cl_ext.h.c Add tests and Travis CI config (#64) 2020-01-23 12:21:48 +00:00
test_cl_gl_ext.h.c Add tests and Travis CI config (#64) 2020-01-23 12:21:48 +00:00
test_cl_gl.h.c Add tests and Travis CI config (#64) 2020-01-23 12:21:48 +00:00
test_cl_half.h.c Comprehensive CMake Package Config support (#107) 2020-11-24 19:18:58 +01:00
test_cl_icd.h.c Add tests and Travis CI config (#64) 2020-01-23 12:21:48 +00:00
test_cl_layer.h.c Move cl_icd_layer.h from OpenCL-ICD-Loader to OpenCL-Headers. (#148) 2021-02-11 15:16:32 -08:00
test_cl_platform.h.c Add tests and Travis CI config (#64) 2020-01-23 12:21:48 +00:00
test_cl_version.h.c Add tests and Travis CI config (#64) 2020-01-23 12:21:48 +00:00
test_cl.h.c Add tests and Travis CI config (#64) 2020-01-23 12:21:48 +00:00
test_headers.c use PRId64 and PRIu64 when printing 64-bit values 2020-12-09 11:53:44 -05:00
test_opencl.h.c Add tests and Travis CI config (#64) 2020-01-23 12:21:48 +00:00

OpenCL-Headers/tests README

The test_headers.c test is designed to make sure that the various cl_typen types work and conform to expectation for recent versions of cl_platform.h. Conforming to these expectations make use of these types practical for developers writing portable code.

The various tests ending in .h.c are there to verify that the various OpenCL headers can compile stand alone. That is to ensure that they may be used a la carte. This provides developers a lifeline in the case that some unneeded part of OpenCL (e.g. cl/gl sharing) brings in a pile of symbols (e.g. all of OpenGL) that collides with other headers needed by the application. It is also poor form to require headers to be included in a particular order, especially if multiple systems require they be included in mutually incompatible order. So, here we require that each header can be used standalone so that the order is irrelevant.

We also check to make sure that the headers don't cause spurious warnings. These tests are intended to be compiled using the most stringent compiler flags available for the platform, within reason. All warnings should be errors and extra warnings that it is expected developers are likely to use should be turned on.