From a8ed4ca22a7fa17902958afbf172da8f7d19fc75 Mon Sep 17 00:00:00 2001 From: Kai Vehmanen Date: Wed, 18 Sep 2024 15:31:29 +0300 Subject: [PATCH] rtos: branch compiler_attributes.h for XTOS and Zephyr Introduce a separate file for Zephyr compiler_attributes.h and move all Zephyr-specific definitions to this file. This is a prerequisite to build with CONFIG_SOF_ZEPHYR_STRICT_HEADERS=y. Link: https://github.com/thesofproject/sof/issues/9015 Signed-off-by: Kai Vehmanen --- xtos/include/sof/compiler_attributes.h | 47 ++--------------------- zephyr/include/sof/compiler_attributes.h | 49 ++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 44 deletions(-) create mode 100644 zephyr/include/sof/compiler_attributes.h diff --git a/xtos/include/sof/compiler_attributes.h b/xtos/include/sof/compiler_attributes.h index 30ccaff1fe15..4c720544e440 100644 --- a/xtos/include/sof/compiler_attributes.h +++ b/xtos/include/sof/compiler_attributes.h @@ -5,50 +5,9 @@ * Author: Karol Trzcinski */ -#ifdef __ZEPHYR__ - -#include - -/* Get __sparse_cache and __sparse_force definitions if __CHECKER__ is defined */ -#include - -#else - -#define __sparse_cache -#define __sparse_force - -#ifndef __packed -#define __packed __attribute__((packed)) -#endif - -#ifndef __unused -#define __unused __attribute__((unused)) -#endif - -#endif - -#ifndef __aligned -#define __aligned(x) __attribute__((__aligned__(x))) -#endif - -#ifndef __section -#define __section(x) __attribute__((section(x))) -#endif - -/* The fallthrough attribute is supported since GCC 7.0 - * and Clang 10.0.0. - * - * Note that Clang sets __GNUC__ == 4 so the GCC version - * test will not be true here, and must go through - * the Clang version test. - */ -#if ((defined(__GNUC__) && (__GNUC__ >= 7)) || \ - (defined(__clang__) && (__clang_major__ >= 10))) && !defined(__CHECKER__) - -#define COMPILER_FALLTHROUGH __attribute__((fallthrough)) - -#else +#ifndef __SOF_COMPILER_ATTRIBUTES_H__ +#define __SOF_COMPILER_ATTRIBUTES_H__ #define COMPILER_FALLTHROUGH /* fallthrough */ -#endif +#endif /* __SOF_COMPILER_ATTRIBUTES_H__ */ diff --git a/zephyr/include/sof/compiler_attributes.h b/zephyr/include/sof/compiler_attributes.h new file mode 100644 index 000000000000..264a99bd2b50 --- /dev/null +++ b/zephyr/include/sof/compiler_attributes.h @@ -0,0 +1,49 @@ +/* SPDX-License-Identifier: BSD-3-Clause + * + * Copyright(c) 2024 Intel Corporation. + */ + +#ifndef __SOF_COMPILER_ATTRIBUTES_H__ +#define __SOF_COMPILER_ATTRIBUTES_H__ + +#include + +/* Get __sparse_cache and __sparse_force definitions if __CHECKER__ is defined */ +#include + +#else + +#define __sparse_cache +#define __sparse_force + +#ifndef __packed +#define __packed __attribute__((packed)) +#endif + +#ifndef __unused +#define __unused __attribute__((unused)) +#endif + +#endif + +#ifndef __aligned +#define __aligned(x) __attribute__((__aligned__(x))) +#endif + +#ifndef __section +#define __section(x) __attribute__((section(x))) +#endif + +/* The fallthrough attribute is supported since GCC 7.0 + * and Clang 10.0.0. + * + * Note that Clang sets __GNUC__ == 4 so the GCC version + * test will not be true here, and must go through + * the Clang version test. + */ +#if ((defined(__GNUC__) && (__GNUC__ >= 7)) || \ + (defined(__clang__) && (__clang_major__ >= 10))) && !defined(__CHECKER__) + +#define COMPILER_FALLTHROUGH __attribute__((fallthrough)) + +#endif /* __SOF_COMPILER_ATTRIBUTES_H__ */