1 /*
2  * Copyright (c) 2021 Nordic Semiconductor ASA
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef ZEPHYR_INCLUDE_TOOLCHAIN_ARMCLANG_H_
8 #define ZEPHYR_INCLUDE_TOOLCHAIN_ARMCLANG_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 #include <zephyr/toolchain/llvm.h>
15 
16 /*
17  * To reuse as much as possible from the llvm.h header we only redefine the
18  * __GENERIC_SECTION and Z_GENERIC_SECTION macros here to include the `used` keyword.
19  */
20 #undef __GENERIC_SECTION
21 #undef Z_GENERIC_SECTION
22 
23 #define __GENERIC_SECTION(segment) __attribute__((section(STRINGIFY(segment)), used))
24 #define Z_GENERIC_SECTION(segment) __GENERIC_SECTION(segment)
25 
26 #endif /* ZEPHYR_INCLUDE_TOOLCHAIN_ARMCLANG_H_ */
27