Browse Source

fix: suppress unused warnings when DEBUG disabled

When RT_USING_DEBUG is disabled, variables used only in RT_ASSERT
statements become unused, triggering -Wunused-but-set-variable compiler
warnings. These variables are essential for runtime assertions in debug
builds but appear unused in release builds.

Example:
- Variables used in RT_ASSERT(var != RT_NULL) checks
- Affects multiple drivers and components using RT_ASSERT

This is a general cleanup to improve code compilation without affecting
functionality.
KunYi Chen 8 months ago
parent
commit
6b7f1177de
2 changed files with 2 additions and 2 deletions
  1. 1 1
      include/rtdef.h
  2. 1 1
      include/rtthread.h

+ 1 - 1
include/rtdef.h

@@ -117,7 +117,7 @@ extern "C" {
 
 /* Common Utilities */
 
-#define RT_UNUSED(x)                   ((void)x)
+#define RT_UNUSED(x)                   ((void)(x))
 
 /* compile time assertion */
 #define RT_STATIC_ASSERT(name, expn) typedef char _static_assert_##name[(expn)?1:-1]

+ 1 - 1
include/rtthread.h

@@ -804,7 +804,7 @@ if (!(EX))                                                                    \
     rt_assert_handler(#EX, __FUNCTION__, __LINE__);                           \
 }
 #else
-#define RT_ASSERT(EX)
+#define RT_ASSERT(EX) {RT_UNUSED(EX);}
 #endif /* RT_DEBUGING_ASSERT */
 
 #ifdef RT_DEBUGING_CONTEXT