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>
This commit is contained in:
nagendra modadugu
2016-05-24 10:47:22 -07:00
committed by chrome-bot
parent 840d61282c
commit e1dc48480f
2 changed files with 34 additions and 30 deletions

View File

@@ -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__ */

View File

@@ -12,37 +12,9 @@
#include "compile_time_macros.h"
#include "panic.h"
#include "builtin/assert.h" /* For ASSERT(). */
#include <stddef.h>
/**
* Trigger a debug exception if the condition
* is not verified at runtime.
*/
#ifdef CONFIG_DEBUG_ASSERT
#ifdef CONFIG_DEBUG_ASSERT_REBOOTS
#ifdef CONFIG_DEBUG_ASSERT_BRIEF
#define ASSERT(cond) do { \
if (!(cond)) \
panic_assert_fail(__FILE__, __LINE__); \
} while (0)
#else
#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
/* Standard macros / definitions */
#ifndef MAX
#define MAX(a, b) \