summaryrefslogtreecommitdiff
path: root/src/include/assert.h
diff options
context:
space:
mode:
authorNico Huber <nico.h@gmx.de>2020-04-06 23:02:12 +0200
committerAngel Pons <th3fanbus@gmail.com>2020-04-10 00:10:58 +0000
commitdb2c8dfecb5086ceb78c59f2108d51ca3129d9c1 (patch)
tree1c060641630d5d88032c3a5140f366d6318d71f3 /src/include/assert.h
parent17419ff948ad73cbb8d5c98b488eabb18c9ccb1b (diff)
assert.h: Simplify dead_code()
It turns out the linker's error message already includes the line number of the dead_code() invocation. If we don't include the line number in the identifier for our undefined reference, we don't need individual identifiers at all and can work with a single, global declaration. Change-Id: Ib63868ce3114c3f839867a3bfb1b03bdb6facf16 Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/40240 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src/include/assert.h')
-rw-r--r--src/include/assert.h11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/include/assert.h b/src/include/assert.h
index 492629dd30..7252ab61e2 100644
--- a/src/include/assert.h
+++ b/src/include/assert.h
@@ -52,15 +52,10 @@
* The error message when this hits will look like this:
*
* ramstage/lib/bootmode.o: In function `display_init_required':
- * bootmode.c:42: undefined reference to `dead_code_assertion_failed_at_line_42'
+ * bootmode.c:42: undefined reference to `_dead_code_assertion_failed'
*/
-#define __dead_code(tag, line) do { \
- extern void dead_code_assertion_failed##tag##_at_line_##line(void) \
- __attribute__((noreturn)); \
- dead_code_assertion_failed##tag##_at_line_##line(); \
-} while (0)
-#define _dead_code(tag, line) __dead_code(tag, line)
-#define dead_code(tag) _dead_code(tag, __LINE__)
+extern void _dead_code_assertion_failed(void) __attribute__((noreturn));
+#define dead_code() _dead_code_assertion_failed()
/* This can be used in the context of an expression of type 'type'. */
#define dead_code_t(type) ({ \