xref: /aosp_15_r20/external/OpenCL-Headers/tests/README.md (revision 3cc257528f335c5672e46865a03b8ee020e5fe2d)
1*3cc25752SFrank PivaOpenCL-Headers/tests README
2*3cc25752SFrank Piva===========================
3*3cc25752SFrank Piva
4*3cc25752SFrank PivaThe test_headers.c test is designed to make sure that the various cl_typen types
5*3cc25752SFrank Pivawork and conform to expectation for recent versions of cl_platform.h. Conforming
6*3cc25752SFrank Pivato these expectations make use of these types practical for developers writing
7*3cc25752SFrank Pivaportable code.
8*3cc25752SFrank Piva
9*3cc25752SFrank PivaThe various tests ending in .h.c are there to verify that the various OpenCL
10*3cc25752SFrank Pivaheaders can compile stand alone. That is to ensure that they may be used a la
11*3cc25752SFrank Pivacarte. This provides developers a lifeline in the case that some unneeded part
12*3cc25752SFrank Pivaof OpenCL (e.g. cl/gl sharing) brings in a pile of symbols (e.g. all of OpenGL)
13*3cc25752SFrank Pivathat collides with other headers needed by the application. It is also poor form
14*3cc25752SFrank Pivato require headers to be included in a particular order, especially if multiple
15*3cc25752SFrank Pivasystems require they be included in mutually incompatible order. So, here we
16*3cc25752SFrank Pivarequire that each header can be used standalone so that the order is irrelevant.
17*3cc25752SFrank Piva
18*3cc25752SFrank PivaWe also check to make sure that the headers don't cause spurious warnings. These
19*3cc25752SFrank Pivatests are intended to be compiled using the most stringent compiler flags
20*3cc25752SFrank Pivaavailable for the platform, within reason. All warnings should be errors and
21*3cc25752SFrank Pivaextra warnings that it is expected developers are likely to use should be turned
22*3cc25752SFrank Pivaon.
23