Zephyr API Documentation  3.6.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
llvm.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2021 Intel Corporation.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_TOOLCHAIN_LLVM_H_
8#define ZEPHYR_INCLUDE_TOOLCHAIN_LLVM_H_
9
10#ifndef ZEPHYR_INCLUDE_TOOLCHAIN_H_
11#error Please do not include toolchain-specific headers directly, use <zephyr/toolchain.h> instead
12#endif
13
14#define __no_optimization __attribute__((optnone))
15
16#if __clang_major__ >= 10
17#define __fallthrough __attribute__((fallthrough))
18#endif
19
20#define TOOLCHAIN_CLANG_VERSION \
21 ((__clang_major__ * 10000) + (__clang_minor__ * 100) + \
22 __clang_patchlevel__)
23
24#define TOOLCHAIN_HAS_PRAGMA_DIAG 1
25
26#if TOOLCHAIN_CLANG_VERSION >= 30800
27#define TOOLCHAIN_HAS_C_GENERIC 1
28#define TOOLCHAIN_HAS_C_AUTO_TYPE 1
29#endif
30
32
33#ifndef __INT8_C
34#define __INT8_C(x) x
35#endif
36
37#ifndef INT8_C
38#define INT8_C(x) __INT8_C(x)
39#endif
40
41#ifndef __UINT8_C
42#define __UINT8_C(x) x ## U
43#endif
44
45#ifndef UINT8_C
46#define UINT8_C(x) __UINT8_C(x)
47#endif
48
49#ifndef __INT16_C
50#define __INT16_C(x) x
51#endif
52
53#ifndef INT16_C
54#define INT16_C(x) __INT16_C(x)
55#endif
56
57#ifndef __UINT16_C
58#define __UINT16_C(x) x ## U
59#endif
60
61#ifndef UINT16_C
62#define UINT16_C(x) __UINT16_C(x)
63#endif
64
65#ifndef __INT32_C
66#define __INT32_C(x) x
67#endif
68
69#ifndef INT32_C
70#define INT32_C(x) __INT32_C(x)
71#endif
72
73#ifndef __UINT32_C
74#define __UINT32_C(x) x ## U
75#endif
76
77#ifndef UINT32_C
78#define UINT32_C(x) __UINT32_C(x)
79#endif
80
81#ifndef __INT64_C
82#define __INT64_C(x) x
83#endif
84
85#ifndef INT64_C
86#define INT64_C(x) __INT64_C(x)
87#endif
88
89#ifndef __UINT64_C
90#define __UINT64_C(x) x ## ULL
91#endif
92
93#ifndef UINT64_C
94#define UINT64_C(x) __UINT64_C(x)
95#endif
96
97#ifndef __INTMAX_C
98#define __INTMAX_C(x) x
99#endif
100
101#ifndef INTMAX_C
102#define INTMAX_C(x) __INTMAX_C(x)
103#endif
104
105#ifndef __UINTMAX_C
106#define __UINTMAX_C(x) x ## ULL
107#endif
108
109#ifndef UINTMAX_C
110#define UINTMAX_C(x) __UINTMAX_C(x)
111#endif
112
113#endif /* ZEPHYR_INCLUDE_TOOLCHAIN_LLVM_H_ */
GCC toolchain abstraction.