|
54 | 54 | #define STDEXEC_NVCC() 1 |
55 | 55 | #elif defined(__NVCOMPILER) |
56 | 56 | #define STDEXEC_NVHPC() 1 |
| 57 | +#elif defined(__EDG__) |
| 58 | +#define LEGATE_EDG() 1 |
57 | 59 | #elif defined(__clang__) |
58 | 60 | #define STDEXEC_CLANG() 1 |
59 | 61 | #elif defined(__GNUC__) |
|
68 | 70 | #ifndef STDEXEC_NVHPC |
69 | 71 | #define STDEXEC_NVHPC() 0 |
70 | 72 | #endif |
| 73 | +#ifndef STDEXEC_EDG |
| 74 | +#define STDEXEC_EDG() 0 |
| 75 | +#endif |
71 | 76 | #ifndef STDEXEC_CLANG |
72 | 77 | #define STDEXEC_CLANG() 0 |
73 | 78 | #endif |
|
78 | 83 | #define STDEXEC_MSVC() 0 |
79 | 84 | #endif |
80 | 85 |
|
81 | | -#if STDEXEC_CLANG() || STDEXEC_GCC() |
82 | 86 | #define STDEXEC_STRINGIZE(_ARG) #_ARG |
| 87 | + |
| 88 | +#if STDEXEC_NVCC() |
| 89 | +#define STDEXEC_PRAGMA_PUSH() _Pragma("nv_diagnostic push") |
| 90 | +#define STDEXEC_PRAGMA_POP() _Pragma("nv_diagnostic pop") |
| 91 | +#define STDEXEC_PRAGMA_IGNORE_EDG(...) _Pragma(STDEXEC_STRINGIZE(nv_diag_suppress __VA_ARGS__)) |
| 92 | +#elif STDEXEC_NVHPC() || STDEXEC_EDG() |
| 93 | +#define STDEXEC_PRAGMA_PUSH() \ |
| 94 | + _Pragma("diagnostic push") STDEXEC_PRAGMA_IGNORE_EDG(invalid_error_number) |
| 95 | +#define STDEXEC_PRAGMA_POP() _Pragma("diagnostic pop") |
| 96 | +#define STDEXEC_PRAGMA_IGNORE_EDG(...) _Pragma(STDEXEC_STRINGIZE(diag_suppress __VA_ARGS__)) |
| 97 | +#elif STDEXEC_CLANG() || STDEXEC_GCC() |
83 | 98 | #define STDEXEC_PRAGMA_PUSH() _Pragma("GCC diagnostic push") |
84 | 99 | #define STDEXEC_PRAGMA_POP() _Pragma("GCC diagnostic pop") |
85 | | -#define STDEXEC_PRAGMA_IGNORE(_ARG) _Pragma(STDEXEC_STRINGIZE(GCC diagnostic ignored _ARG)) |
| 100 | +#define STDEXEC_PRAGMA_IGNORE_GNU(_ARG) _Pragma(STDEXEC_STRINGIZE(GCC diagnostic ignored _ARG)) |
86 | 101 | #else |
87 | 102 | #define STDEXEC_PRAGMA_PUSH() |
88 | 103 | #define STDEXEC_PRAGMA_POP() |
89 | | -#define STDEXEC_PRAGMA_IGNORE(_ARG) |
| 104 | +#endif |
| 105 | + |
| 106 | +#ifndef STDEXEC_PRAGMA_IGNORE_GNU |
| 107 | +#define STDEXEC_PRAGMA_IGNORE_GNU(_ARG) |
| 108 | +#endif |
| 109 | +#ifndef STDEXEC_PRAGMA_IGNORE_EDG |
| 110 | +#define STDEXEC_PRAGMA_IGNORE_EDG(_ARG) |
90 | 111 | #endif |
91 | 112 |
|
92 | 113 | #if !STDEXEC_MSVC() && defined(__has_builtin) |
|
0 commit comments