Skip to content

Commit 9da9bf1

Browse files
committed
everywhere: Use correct macro for gcc-specific warnings
Many warnings were disabled for all compilers, even though they are gcc-specific warnings. Now that clang has -Wunknown-warning-option enabled, this can cause compilation failures when building with clang toolchains. Use TOOLCHAIN_DISABLE_GCC_WARNING for all gcc-specific macros. https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html https://clang.llvm.org/docs/DiagnosticsReference.html Fixes: #84138 Signed-off-by: Tom Hughes <tomhughes@chromium.org>
1 parent de6a7c7 commit 9da9bf1

File tree

7 files changed

+19
-19
lines changed

7 files changed

+19
-19
lines changed

include/zephyr/logging/log_core.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -262,9 +262,9 @@ static inline char z_log_minimal_level_to_char(int level)
262262
GET_ARG_N(1, __VA_ARGS__))
263263

264264
#define LOG_POINTERS_VALIDATE(string_ok, ...) \
265-
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
265+
TOOLCHAIN_DISABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
266266
string_ok = Z_CBPRINTF_POINTERS_VALIDATE(__VA_ARGS__); \
267-
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
267+
TOOLCHAIN_ENABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
268268
#else
269269
#define LOG_POINTERS_VALIDATE(string_ok, ...) string_ok = true
270270
#define LOG_STRING_WARNING(_mode, _src, ...)

include/zephyr/logging/log_msg.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -569,9 +569,9 @@ do { \
569569
#define Z_LOG_MSG_CREATE2(_try_0cpy, _mode, _cstr_cnt, _domain_id, _source, \
570570
_level, _data, _dlen, ...) \
571571
do { \
572-
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
572+
TOOLCHAIN_DISABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
573573
FOR_EACH_IDX(Z_LOG_LOCAL_ARG_CREATE, (;), __VA_ARGS__); \
574-
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
574+
TOOLCHAIN_ENABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
575575
Z_LOG_MSG_CREATE3(_try_0cpy, _mode, _cstr_cnt, _domain_id, _source,\
576576
_level, _data, _dlen, \
577577
FOR_EACH_IDX(Z_LOG_LOCAL_ARG_NAME, (,), __VA_ARGS__)); \

include/zephyr/sys/cbprintf_cxx.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@ template < typename T >
8181
static inline int z_cbprintf_cxx_is_pchar(T arg, bool const_as_fixed)
8282
{
8383
ARG_UNUSED(arg);
84-
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
84+
TOOLCHAIN_DISABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
8585
ARG_UNUSED(const_as_fixed);
8686
return 0;
87-
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
87+
TOOLCHAIN_ENABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
8888
}
8989

9090
/* C++ version for determining if variable type is numeric and fits in 32 bit word. */
@@ -132,9 +132,9 @@ template < typename T >
132132
static inline int z_cbprintf_cxx_is_word_num(T arg)
133133
{
134134
ARG_UNUSED(arg);
135-
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
135+
TOOLCHAIN_DISABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
136136
return 0;
137-
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
137+
TOOLCHAIN_ENABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
138138
}
139139

140140
/* C++ version for determining if argument is a none character pointer. */

include/zephyr/sys/cbprintf_internal.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -530,14 +530,14 @@ extern "C" {
530530
*/
531531
#if Z_C_GENERIC
532532
#define Z_CBPRINTF_MUST_RUNTIME_PACKAGE(flags, ...) ({\
533-
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
533+
TOOLCHAIN_DISABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
534534
int _rv; \
535535
if ((flags) & CBPRINTF_PACKAGE_ADD_RW_STR_POS) { \
536536
_rv = 0; \
537537
} else { \
538538
_rv = Z_CBPRINTF_PCHAR_COUNT(flags, __VA_ARGS__) > 0 ? 1 : 0; \
539539
} \
540-
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
540+
TOOLCHAIN_ENABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
541541
_rv; \
542542
})
543543
#else
@@ -765,7 +765,7 @@ do { \
765765
#define Z_CBPRINTF_STATIC_PACKAGE_GENERIC(buf, _inlen, _outlen, _align_offset, \
766766
flags, ... /* fmt, ... */) \
767767
do { \
768-
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
768+
TOOLCHAIN_DISABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
769769
BUILD_ASSERT(!IS_ENABLED(CONFIG_XTENSA) || \
770770
(IS_ENABLED(CONFIG_XTENSA) && \
771771
!((_align_offset) % CBPRINTF_PACKAGE_ALIGNMENT)), \
@@ -843,7 +843,7 @@ do { \
843843
(pkg_hdr.desc.pkg_flags = flags)); \
844844
*_len_loc = pkg_hdr; \
845845
} \
846-
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
846+
TOOLCHAIN_ENABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH); \
847847
} while (false)
848848

849849
#if Z_C_GENERIC

tests/kernel/mem_protect/stack_random/src/main.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ volatile unsigned int changed;
1919
* The `alternate_thread` function deliberately makes use of a dangling pointer
2020
* in order to test stack randomisation.
2121
*/
22-
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_DANGLING_POINTER)
22+
TOOLCHAIN_DISABLE_GCC_WARNING(TOOLCHAIN_WARNING_DANGLING_POINTER)
2323

2424
void alternate_thread(void *p1, void *p2, void *p3)
2525
{
@@ -43,7 +43,7 @@ void alternate_thread(void *p1, void *p2, void *p3)
4343
last_sp = sp_val;
4444
}
4545

46-
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_DANGLING_POINTER)
46+
TOOLCHAIN_ENABLE_GCC_WARNING(TOOLCHAIN_WARNING_DANGLING_POINTER)
4747

4848
K_THREAD_STACK_DEFINE(alt_thread_stack_area, STACKSIZE);
4949
static struct k_thread alt_thread_data;

tests/lib/mem_alloc/src/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
/*
2929
* Don't complain about ridiculous alloc size requests
3030
*/
31-
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_ALLOC_SIZE_LARGER_THAN)
31+
TOOLCHAIN_DISABLE_GCC_WARNING(TOOLCHAIN_WARNING_ALLOC_SIZE_LARGER_THAN)
3232

3333
#define TOO_BIG PTRDIFF_MAX
3434

tests/unit/cbprintf/main.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -1365,7 +1365,7 @@ ZTEST(prf, test_is_none_char_ptr)
13651365
float f = 0.1;
13661366
double d = 0.1;
13671367

1368-
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
1368+
TOOLCHAIN_DISABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
13691369
zassert_equal(Z_CBPRINTF_IS_NONE_CHAR_PTR(c), 0);
13701370
zassert_equal(Z_CBPRINTF_IS_NONE_CHAR_PTR(cc), 0);
13711371
zassert_equal(Z_CBPRINTF_IS_NONE_CHAR_PTR(vc), 0);
@@ -1413,7 +1413,7 @@ ZTEST(prf, test_is_none_char_ptr)
14131413

14141414
zassert_equal(Z_CBPRINTF_IS_NONE_CHAR_PTR((void *)&c), 1);
14151415

1416-
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
1416+
TOOLCHAIN_ENABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
14171417
}
14181418

14191419
ZTEST(prf, test_p_count)
@@ -1427,12 +1427,12 @@ ZTEST(prf, test_p_count)
14271427

14281428
ZTEST(prf, test_pointers_validate)
14291429
{
1430-
TOOLCHAIN_DISABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
1430+
TOOLCHAIN_DISABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
14311431
zassert_equal(Z_CBPRINTF_POINTERS_VALIDATE("no arguments"), true);
14321432
/* const char fails validation */
14331433
zassert_equal(Z_CBPRINTF_POINTERS_VALIDATE("%p", "string"), false);
14341434
zassert_equal(Z_CBPRINTF_POINTERS_VALIDATE("%p", (void *)"string"), true);
1435-
TOOLCHAIN_ENABLE_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
1435+
TOOLCHAIN_ENABLE_GCC_WARNING(TOOLCHAIN_WARNING_POINTER_ARITH);
14361436
}
14371437

14381438
static void *cbprintf_setup(void)

0 commit comments

Comments
 (0)