DEBUGASSERT() is not enabled with CONFIG_DEBUG_ASSERTIONS, not CONFIG_DEBUG

This commit is contained in:
Gregory Nutt 2016-06-11 12:49:21 -06:00
parent a3bb764305
commit c211ce8be1
2 changed files with 18 additions and 7 deletions

15
Kconfig
View File

@ -413,7 +413,7 @@ if DEBUG
comment "Debug SYSLOG Output Controls" comment "Debug SYSLOG Output Controls"
config DEBUG_WARNINGS config DEBUG_WARN
bool "Enable Warnings Output" bool "Enable Warnings Output"
default n default n
---help--- ---help---
@ -424,12 +424,23 @@ config DEBUG_WARNINGS
config DEBUG_INFO config DEBUG_INFO
bool "Enable Informational Debug Output" bool "Enable Informational Debug Output"
default n default n
depends on DEBUG_WARNINGS depends on DEBUG_WARN
---help--- ---help---
Enables verbose "informational" debug output. If you enable Enables verbose "informational" debug output. If you enable
CONFIG_DEBUG_INFO, then very chatty (and often annoying) output CONFIG_DEBUG_INFO, then very chatty (and often annoying) output
will be generated. will be generated.
config DEBUG_ASSERTIONS
bool "Enable Debug Assertions"
default n
---help---
Enables the DEBUGASSERT() macro. When CONFIG_DEBUG_ASSERTIONS is
defined, DEBUGASSERT() will cause the system to halt if the
assertion fails. If CONFIG_DEBUG_ASSERTIONS is not defined
DEBUGASSERT() compiled out of the system. In general, you would
set CONFIG_DEBUG_ASSERTIONS=y during debug, but disable the
assertions on a final, buckled up system.
comment "Subsystem Debug Options" comment "Subsystem Debug Options"
config DEBUG_AUDIO config DEBUG_AUDIO

View File

@ -52,9 +52,9 @@
#undef ASSERT /* Assert if the condition is not true */ #undef ASSERT /* Assert if the condition is not true */
#undef VERIFY /* Assert if a function returns a negative value */ #undef VERIFY /* Assert if a function returns a negative value */
#undef PANIC /* Unconditional abort */ #undef PANIC /* Unconditional abort */
#undef DEBUGASSERT /* Like ASSERT, but only if CONFIG_DEBUG is defined */ #undef DEBUGASSERT /* Like ASSERT, but only if CONFIG_DEBUG_ASSERTIONS is defined */
#undef DEBUGVERIFY /* Like VERIFY, but only if CONFIG_DEBUG is defined */ #undef DEBUGVERIFY /* Like VERIFY, but only if CONFIG_DEBUG_ASSERTIONS is defined */
#undef DEBUGPANIC /* Like PANIC, but only if CONFIG_DEBUG is defined */ #undef DEBUGPANIC /* Like PANIC, but only if CONFIG_DEBUG_ASSERTIONS is defined */
#ifdef CONFIG_HAVE_FILENAME #ifdef CONFIG_HAVE_FILENAME
@ -89,7 +89,7 @@
#endif #endif
#ifdef CONFIG_DEBUG #ifdef CONFIG_DEBUG_ASSERTIONS
# define DEBUGASSERT(f) ASSERT(f) # define DEBUGASSERT(f) ASSERT(f)
# define DEBUGVERIFY(f) VERIFY(f) # define DEBUGVERIFY(f) VERIFY(f)
@ -101,7 +101,7 @@
# define DEBUGVERIFY(f) ((void)(f)) # define DEBUGVERIFY(f) ((void)(f))
# define DEBUGPANIC() # define DEBUGPANIC()
# endif /* CONFIG_DEBUG */ # endif /* CONFIG_DEBUG_ASSERTIONS */
/* The C standard states that if NDEBUG is defined, assert will do nothing. /* The C standard states that if NDEBUG is defined, assert will do nothing.
* Users can define and undefine NDEBUG as they see fit to choose when assert * Users can define and undefine NDEBUG as they see fit to choose when assert