From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Denk Date: Sat, 22 Oct 2011 00:20:26 +0200 Subject: [U-Boot] [RESEND PATCH v3] Add assert() for debug assertions In-Reply-To: <1315434680-21641-1-git-send-email-sjg@chromium.org> References: <1315434680-21641-1-git-send-email-sjg@chromium.org> Message-ID: <20111021222026.4F3FA18AE81D@gemini.denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Simon Glass, In message <1315434680-21641-1-git-send-email-sjg@chromium.org> you wrote: > assert() is like BUG_ON() but compiles to nothing unless DEBUG is defined. > This is useful when a condition is an error but a board reset is unlikely > to fix it, so it is better to soldier on in hope. Assertion failures should > be caught during development/test. > > It turns out that assert() is defined separately in a few places in U-Boot > with various meanings. This patch cleans up some of these. > > Build errors exposed by this change (and defining DEBUG) are also fixed in > this patch. > > Signed-off-by: Simon Glass ... > --- a/lib/vsprintf.c > +++ b/lib/vsprintf.c > @@ -730,3 +730,11 @@ void panic(const char *fmt, ...) > while (1) > ; > } > + > +void __assert_fail(const char *assertion, const char *file, unsigned line, > + const char *function) > +{ > + /* This will not return */ > + panic("%s:%u: %s: Assertion `%s' failed.", file, line, function, > + assertion); > +} Can you please #ifdef it so it doesn't get added for the non-debug case, too? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de The human mind ordinarily operates at only ten percent of its capacity. The rest is overhead for the operating system.