toolchain: Replace TOOLCHAIN_IGNORE_WSHADOW_BEGIN/END

The TOOLCHAIN_IGNORE_WSHADOW_BEGIN and TOOLCHAIN_IGNORE_WSHADOW_END
macros can be replaced with the more generic
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_SHADOW) and
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_SHADOW) macros.

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
This commit is contained in:
Tom Hughes 2025-01-15 16:14:36 -08:00 committed by Benjamin Cabé
commit 6f6d6d0f76
6 changed files with 8 additions and 37 deletions

View file

@ -21,9 +21,9 @@ static inline void log_stack_usage(const struct k_thread *thread)
#if defined(CONFIG_INIT_STACKS) && defined(CONFIG_THREAD_STACK_INFO)
size_t unused, size = thread->stack_info.size;
TOOLCHAIN_IGNORE_WSHADOW_BEGIN;
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_SHADOW);
LOG_MODULE_DECLARE(os, CONFIG_KERNEL_LOG_LEVEL);
TOOLCHAIN_IGNORE_WSHADOW_END;
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_SHADOW);
if (k_thread_stack_space_get(thread, &unused) == 0) {
unsigned int pcnt = ((size - unused) * 100U) / size;

View file

@ -372,9 +372,9 @@ int k_usermode_string_copy(char *dst, const char *src, size_t maxlen);
#define K_SYSCALL_VERIFY_MSG(expr, fmt, ...) ({ \
bool expr_copy = !(expr); \
if (expr_copy) { \
TOOLCHAIN_IGNORE_WSHADOW_BEGIN \
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_SHADOW) \
LOG_MODULE_DECLARE(os, CONFIG_KERNEL_LOG_LEVEL); \
TOOLCHAIN_IGNORE_WSHADOW_END \
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_SHADOW) \
LOG_ERR("syscall %s failed check: " fmt, \
__func__, ##__VA_ARGS__); \
} \

View file

@ -336,9 +336,9 @@ do { \
CBPRINTF_STATIC_PACKAGE(NULL, 0, _plen, Z_LOG_MSG_ALIGN_OFFSET, _options, \
__VA_ARGS__); \
} \
TOOLCHAIN_IGNORE_WSHADOW_BEGIN \
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_SHADOW) \
struct log_msg *_msg; \
TOOLCHAIN_IGNORE_WSHADOW_END \
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_SHADOW) \
Z_LOG_MSG_ON_STACK_ALLOC(_msg, Z_LOG_MSG_LEN(_plen, 0)); \
Z_LOG_ARM64_VLA_PROTECT(); \
if (_plen != 0) { \

View file

@ -122,9 +122,9 @@ unsigned int alarm(unsigned int seconds);
int kill(pid_t pid, int sig);
int pause(void);
int raise(int signo);
TOOLCHAIN_IGNORE_WSHADOW_BEGIN;
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_SHADOW);
int sigaction(int sig, const struct sigaction *ZRESTRICT act, struct sigaction *ZRESTRICT oact);
TOOLCHAIN_IGNORE_WSHADOW_END;
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_SHADOW);
int sigpending(sigset_t *set);
int sigsuspend(const sigset_t *sigmask);
int sigwait(const sigset_t *ZRESTRICT set, int *ZRESTRICT signo);

View file

@ -125,28 +125,6 @@
#define TOOLCHAIN_HAS_ZLA 0
#endif
/**
* @def TOOLCHAIN_IGNORE_WSHADOW_BEGIN
* @brief Begin of block to ignore -Wshadow.
*
* To be used inside another macro.
* Only for toolchain supporting _Pragma("GCC diagnostic ...").
*/
#ifndef TOOLCHAIN_IGNORE_WSHADOW_BEGIN
#define TOOLCHAIN_IGNORE_WSHADOW_BEGIN
#endif
/**
* @def TOOLCHAIN_IGNORE_WSHADOW_END
* @brief End of block to ignore -Wshadow.
*
* To be used inside another macro.
* Only for toolchain supporting _Pragma("GCC diagnostic ...").
*/
#ifndef TOOLCHAIN_IGNORE_WSHADOW_END
#define TOOLCHAIN_IGNORE_WSHADOW_END
#endif
/**
* @def TOOLCHAIN_PRAGMA
* @brief Helper for using pragma in macros.

View file

@ -679,13 +679,6 @@ do { \
#define FUNC_NO_STACK_PROTECTOR
#endif
#define TOOLCHAIN_IGNORE_WSHADOW_BEGIN \
_Pragma("GCC diagnostic push") \
_Pragma("GCC diagnostic ignored \"-Wshadow\"")
#define TOOLCHAIN_IGNORE_WSHADOW_END \
_Pragma("GCC diagnostic pop")
#endif /* !_LINKER */
#define TOOLCHAIN_WARNING_ADDRESS_OF_PACKED_MEMBER "-Waddress-of-packed-member"