DPC++ Runtime
Runtime libraries for oneAPI Data Parallel C++
defines.hpp
Go to the documentation of this file.
1 //==---------- defines.hpp ----- Preprocessor directives -------------------==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #pragma once
10 
12 
13 #include <climits>
14 
15 #if __SYCL_ID_QUERIES_FIT_IN_INT__ && __has_builtin(__builtin_assume)
16 #define __SYCL_ASSUME_INT(x) __builtin_assume((x) <= INT_MAX)
17 #else
18 #define __SYCL_ASSUME_INT(x)
19 #if __SYCL_ID_QUERIES_FIT_IN_INT__ && !__has_builtin(__builtin_assume)
20 #warning "No assumptions will be emitted due to no __builtin_assume available"
21 #endif
22 #endif
23 
24 #if __has_attribute(sycl_special_class)
25 #define __SYCL_SPECIAL_CLASS __attribute__((sycl_special_class))
26 #else
27 #define __SYCL_SPECIAL_CLASS
28 #endif
defines_elementary.hpp