summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authornagendra modadugu <ngm@google.com>2016-05-24 10:47:22 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-05-25 18:51:07 -0700
commite1dc48480f9ffdf6089efdff44f906d2f1b91b55 (patch)
tree467fd231b2024920a89cfbd177cc516915cf9621 /builtin
parent840d61282cfae5bbc1fa8625e0264c112a3e3bb7 (diff)
downloadchrome-ec-e1dc48480f9ffdf6089efdff44f906d2f1b91b55.tar.gz
CR50: remove dependence of assert.h on util.h
Third party code includes standard system headers, but may not have include paths configured for the platform. Remove the dependency between assert.h and platform headers util.h, and panic.h. BRANCH=none BUG=chrome-os-partner:43025,chrome-os-partner:47524 TEST=make buildall succeeds Change-Id: Ic8d4dc1944765d2f0f80782afa574d7b8e54eb0f Signed-off-by: nagendra modadugu <ngm@google.com> Reviewed-on: https://chromium-review.googlesource.com/347080 Commit-Ready: Nagendra Modadugu <ngm@google.com> Tested-by: Nagendra Modadugu <ngm@google.com> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'builtin')
-rw-r--r--builtin/assert.h34
1 files changed, 33 insertions, 1 deletions
diff --git a/builtin/assert.h b/builtin/assert.h
index 7e5f04b375..2db11115a7 100644
--- a/builtin/assert.h
+++ b/builtin/assert.h
@@ -6,7 +6,39 @@
#ifndef __CROS_EC_ASSERT_H__
#define __CROS_EC_ASSERT_H__
-#include "util.h"
+/* Include CONFIG definitions for EC sources. */
+#ifndef THIRD_PARTY
+#include "common.h"
+#endif
+
+#ifdef CONFIG_DEBUG_ASSERT
+#ifdef CONFIG_DEBUG_ASSERT_REBOOTS
+
+#ifdef CONFIG_DEBUG_ASSERT_BRIEF
+extern void panic_assert_fail(const char *fname, int linenum);
+#define ASSERT(cond) do { \
+ if (!(cond)) \
+ panic_assert_fail(__FILE__, __LINE__); \
+ } while (0)
+#else
+extern void panic_assert_fail(const char *msg, const char *func,
+ const char *fname, int linenum);
+#define ASSERT(cond) do { \
+ if (!(cond)) \
+ panic_assert_fail(#cond, __func__, __FILE__, \
+ __LINE__); \
+ } while (0)
+#endif
+#else
+#define ASSERT(cond) do { \
+ if (!(cond)) \
+ __asm("bkpt"); \
+ } while (0)
+#endif
+#else
+#define ASSERT(cond)
+#endif
+
#define assert(x...) ASSERT(x)
#endif /* __CROS_EC_ASSERT_H__ */