[PATCH] D59486: [OpenCL] Improve testing of default header in C++ mode
Alexey Bader via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 18 11:18:14 PDT 2019
bader accepted this revision.
bader added a comment.
This revision is now accepted and ready to land.
OpenCL C++ part looks good. Thanks!
================
Comment at: test/Headers/opencl-c-header.cl:57-65
char f(char x) {
-#if __OPENCL_C_VERSION__ != CL_VERSION_2_0
+#if !defined(__OPENCL_CPP_VERSION__) && (__OPENCL_C_VERSION__ != CL_VERSION_2_0)
return convert_char_rte(x);
#else //__OPENCL_C_VERSION__
ndrange_t t;
return ctz(x);
----------------
This test looks strange.
It checks that convert_char_rte is compiled if OpenCL version is not 2.0, but AFAIK it's not deprecated in OpenCL C 2.0, so I don't know why test is written in this way (i.e. ifdef-else-endif).
I think checks should look like this:
```
char f(char x) {
// Check check OpenCL C 2.0 and OpenCL C++ functionality
#if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ == CL_VERSION_2_0)
ndrange_t t;
x = ctz(x);
#endif
return convert_char_rte(x);
}
```
Probably it's better to fix separately.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59486/new/
https://reviews.llvm.org/D59486
More information about the cfe-commits
mailing list