Loading...
Searching...
No Matches
14#if defined(SYCL_LANGUAGE_VERSION) || defined(CL_SYCL_LANGUAGE_VERSION)
15#define VECMEM_PRINTF VECMEM_SYCL_PRINTF_FUNCTION
17#define VECMEM_PRINTF printf
22#ifndef VECMEM_MSG_ATTRIBUTES
23#ifdef __SYCL_DEVICE_ONLY__
24#define VECMEM_MSG_ATTRIBUTES __attribute__((opencl_constant))
26#define VECMEM_MSG_ATTRIBUTES
31#ifndef VECMEM_DEBUG_MSG_LVL
32#define VECMEM_DEBUG_MSG_LVL 0
36#ifndef VECMEM_SOURCE_DIR_LENGTH
37#define VECMEM_SOURCE_DIR_LENGTH 0
46#define __VECMEM_PRINT_MSG(MSG, ...) \
48 const VECMEM_MSG_ATTRIBUTES char __msg[] = MSG; \
49 VECMEM_PRINTF(__msg, __VA_ARGS__); \
53#define __VECMEM_PRINT_MSG_EMPTY \
58#if VECMEM_DEBUG_MSG_LVL >= 1
59#define __VECMEM_PRINT_1(MSG, ...) __VECMEM_PRINT_MSG(MSG, __VA_ARGS__)
61#define __VECMEM_PRINT_1(MSG, ...) __VECMEM_PRINT_MSG_EMPTY
65#if VECMEM_DEBUG_MSG_LVL >= 2
66#define __VECMEM_PRINT_2(MSG, ...) __VECMEM_PRINT_MSG(MSG, __VA_ARGS__)
68#define __VECMEM_PRINT_2(MSG, ...) __VECMEM_PRINT_MSG_EMPTY
72#if VECMEM_DEBUG_MSG_LVL >= 3
73#define __VECMEM_PRINT_3(MSG, ...) __VECMEM_PRINT_MSG(MSG, __VA_ARGS__)
75#define __VECMEM_PRINT_3(MSG, ...) __VECMEM_PRINT_MSG_EMPTY
79#if VECMEM_DEBUG_MSG_LVL >= 4
80#define __VECMEM_PRINT_4(MSG, ...) __VECMEM_PRINT_MSG(MSG, __VA_ARGS__)
82#define __VECMEM_PRINT_4(MSG, ...) __VECMEM_PRINT_MSG_EMPTY
86#if VECMEM_DEBUG_MSG_LVL >= 5
87#define __VECMEM_PRINT_5(MSG, ...) __VECMEM_PRINT_MSG(MSG, __VA_ARGS__)
89#define __VECMEM_PRINT_5(MSG, ...) __VECMEM_PRINT_MSG_EMPTY
97#if defined(_MSC_VER) && (!defined(__clang__))
108#define VECMEM_DEBUG_MSG(LVL, MSG, ...) \
109 __VECMEM_PRINT_##LVL( \
110 "[vecmem] %s:%i " MSG "\n", \
111 (static_cast<const char*>(__FILE__) + VECMEM_SOURCE_DIR_LENGTH), \
112 __LINE__, __VA_ARGS__)
117#define __VECMEM_DEBUG_MSG(LVL, MSG, ...) \
118 __VECMEM_PRINT_##LVL( \
119 "[vecmem] %s:%i " MSG "\n%s", \
120 (static_cast<const char*>(__FILE__) + VECMEM_SOURCE_DIR_LENGTH), \
121 __LINE__, __VA_ARGS__)
132#define VECMEM_DEBUG_MSG(LVL, ...) __VECMEM_DEBUG_MSG(LVL, __VA_ARGS__, "")