summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorPatrick Georgi <pgeorgi@google.com>2018-07-04 17:21:09 +0200
committerchrome-bot <chrome-bot@chromium.org>2018-07-12 22:10:02 -0700
commit7e972ab9860d594c0db9d4c2df1742a96f64bc67 (patch)
tree93a1d43a4b9aa749e9fe50f10279cdbdac380053 /builtin
parent97a7b12b3ba7caad4b48eee2ec27773c044b3519 (diff)
downloadchrome-ec-7e972ab9860d594c0db9d4c2df1742a96f64bc67.tar.gz
assert/panic: mark noreturn to inform the compiler
BUG=b:65441143 BRANCH=none TEST=buildall with gcc8.1 stops failing on this family of functions Change-Id: I44f9d643e46f955ea0cd0b5893c2806a4e3f52b0 Signed-off-by: Patrick Georgi <pgeorgi@google.com> Reviewed-on: https://chromium-review.googlesource.com/1126315 Commit-Ready: Patrick Georgi <pgeorgi@chromium.org> Tested-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Diffstat (limited to 'builtin')
-rw-r--r--builtin/assert.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/builtin/assert.h b/builtin/assert.h
index 2db11115a7..1a4c64eb68 100644
--- a/builtin/assert.h
+++ b/builtin/assert.h
@@ -15,14 +15,15 @@
#ifdef CONFIG_DEBUG_ASSERT_REBOOTS
#ifdef CONFIG_DEBUG_ASSERT_BRIEF
-extern void panic_assert_fail(const char *fname, int linenum);
+extern void panic_assert_fail(const char *fname, int linenum)
+ __attribute__((noreturn));
#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);
+ const char *fname, int linenum) __attribute__((noreturn));
#define ASSERT(cond) do { \
if (!(cond)) \
panic_assert_fail(#cond, __func__, __FILE__, \
@@ -33,6 +34,7 @@ extern void panic_assert_fail(const char *msg, const char *func,
#define ASSERT(cond) do { \
if (!(cond)) \
__asm("bkpt"); \
+ __builtin_unreachable();\
} while (0)
#endif
#else