selftest::fail and selftest::fail_formatted call abort. Marking
them as "noreturn" can help eliminate false warnings about unreachable
code in selftests.
Successfully bootstrapped®rtested on x86_64-pc-linux-gnu.
OK for trunk?
gcc/ChangeLog:
* selftest.h (selftest::fail): Add __attribute__ ((noreturn)).
(selftest::fail_formatted): Likewise.
---
gcc/selftest.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/gcc/selftest.h b/gcc/selftest.h
index b073ed6..8636997 100644
--- a/gcc/selftest.h
+++ b/gcc/selftest.h
@@ -56,12 +56,13 @@ extern void pass (const location &loc, const char *msg);
/* Report the failed outcome of some aspect of the test and abort. */
-extern void fail (const location &loc, const char *msg);
+extern void fail (const location &loc, const char *msg)
+ __attribute__ ((noreturn));
/* As "fail", but using printf-style formatted output. */
extern void fail_formatted (const location &loc, const char *fmt, ...)
- ATTRIBUTE_PRINTF_2;
+ ATTRIBUTE_PRINTF_2 __attribute__ ((noreturn));
/* Implementation detail of ASSERT_STREQ. */
--
1.8.5.3