@@ -30,17 +30,28 @@ template <class To, class From> To cast(From value) {
30
30
return (To)(value);
31
31
}
32
32
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
+
33
40
// 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
+
44
55
45
56
// USM helper function to get an extension function pointer
46
57
template <const char *FuncName, typename T>
0 commit comments