Skip to content

Commit 7a7f47d

Browse files
jbrodmanbader
authored andcommitted
[SYCL][PI] Change const to constexpr to make GCC happy (#1017)
Clang/MSVC take "const". GCC before 7.2 requires "constexpr". Signed-off-by: James Brodman <[email protected]>
1 parent defd543 commit 7a7f47d

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

sycl/plugins/opencl/pi_opencl.cpp

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,28 @@ template <class To, class From> To cast(From value) {
3030
return (To)(value);
3131
}
3232

33+
// Older versions of GCC don't like "const" here
34+
#if defined(__GNUC__) && (__GNUC__ < 7 || (__GNU__C == 7 && __GNUC_MINOR__ < 2))
35+
#define CONSTFIX constexpr
36+
#else
37+
#define CONSTFIX const
38+
#endif
39+
3340
// Names of USM functions that are queried from OpenCL
34-
const char clHostMemAllocName[] = "clHostMemAllocINTEL";
35-
const char clDeviceMemAllocName[] = "clDeviceMemAllocINTEL";
36-
const char clSharedMemAllocName[] = "clSharedMemAllocINTEL";
37-
const char clMemFreeName[] = "clMemFreeINTEL";
38-
const char clSetKernelArgMemPointerName[] = "clSetKernelArgMemPointerINTEL";
39-
const char clEnqueueMemsetName[] = "clEnqueueMemsetINTEL";
40-
const char clEnqueueMemcpyName[] = "clEnqueueMemcpyINTEL";
41-
const char clEnqueueMigrateMemName[] = "clEnqueueMigrateMemINTEL";
42-
const char clEnqueueMemAdviseName[] = "clEnqueueMemAdviseINTEL";
43-
const char clGetMemAllocInfoName[] = "clGetMemAllocInfoINTEL";
41+
CONSTFIX char clHostMemAllocName[] = "clHostMemAllocINTEL";
42+
CONSTFIX char clDeviceMemAllocName[] = "clDeviceMemAllocINTEL";
43+
CONSTFIX char clSharedMemAllocName[] = "clSharedMemAllocINTEL";
44+
CONSTFIX char clMemFreeName[] = "clMemFreeINTEL";
45+
CONSTFIX char clSetKernelArgMemPointerName[] = "clSetKernelArgMemPointerINTEL";
46+
CONSTFIX char clEnqueueMemsetName[] = "clEnqueueMemsetINTEL";
47+
CONSTFIX char clEnqueueMemcpyName[] = "clEnqueueMemcpyINTEL";
48+
CONSTFIX char clEnqueueMigrateMemName[] = "clEnqueueMigrateMemINTEL";
49+
CONSTFIX char clEnqueueMemAdviseName[] = "clEnqueueMemAdviseINTEL";
50+
CONSTFIX char clGetMemAllocInfoName[] = "clGetMemAllocInfoINTEL";
51+
52+
#undef CONSTFIX
53+
54+
4455

4556
// USM helper function to get an extension function pointer
4657
template <const char *FuncName, typename T>

0 commit comments

Comments
 (0)