Line data Source code
1 0 : /* 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_ */