everywhere: Replace diagnostic pragmas with TOOLCHAIN_* macros

The TOOLCHAIN_DISABLE_WARNING/TOOLCHAIN_ENABLE_WARNING macros are easier
to read and compiler agnostic.

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
This commit is contained in:
Tom Hughes 2025-01-15 16:32:52 -08:00 committed by Benjamin Cabé
commit 11d70c61e5
18 changed files with 71 additions and 133 deletions

View file

@ -7,6 +7,7 @@
#include <zephyr/kernel.h>
#include <zephyr/ztest.h>
#include <zephyr/tc_util.h>
#include <zephyr/test_toolchain.h>
#include <zephyr/kernel_structs.h>
#include <zephyr/irq_offload.h>
#include <kswap.h>
@ -192,20 +193,16 @@ __no_optimization void blow_up_stack(void)
/* stack sentinel doesn't catch it in time before it trashes the entire kernel
*/
#if defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpragmas"
#pragma GCC diagnostic ignored "-Winfinite-recursion"
#endif
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_PRAGMAS)
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_INFINITE_RECURSION)
__no_optimization int stack_smasher(int val)
{
return stack_smasher(val * 2) + stack_smasher(val * 3);
}
#if defined(__GNUC__)
#pragma GCC diagnostic pop
#endif
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_PRAGMAS)
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_INFINITE_RECURSION)
void blow_up_stack(void)
{

View file

@ -6,6 +6,7 @@
#include <zephyr/ztest.h>
#include <zephyr/kernel.h>
#include <zephyr/test_toolchain.h>
#define STACKSIZE 2048
#define THREAD_COUNT 64
@ -18,11 +19,7 @@ volatile unsigned int changed;
* The `alternate_thread` function deliberately makes use of a dangling pointer
* in order to test stack randomisation.
*/
#if defined(__GNUC__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpragmas"
#pragma GCC diagnostic ignored "-Wdangling-pointer"
#endif
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_DANGLING_POINTER)
void alternate_thread(void *p1, void *p2, void *p3)
{
@ -46,9 +43,7 @@ void alternate_thread(void *p1, void *p2, void *p3)
last_sp = sp_val;
}
#if defined(__GNUC__)
#pragma GCC diagnostic pop
#endif
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_DANGLING_POINTER)
K_THREAD_STACK_DEFINE(alt_thread_stack_area, STACKSIZE);
static struct k_thread alt_thread_data;