Module Name: src
Committed By: rillig
Date: Wed Nov 13 02:54:48 UTC 2024
Modified Files:
src/tests/usr.bin/xlint/lint1: msg_217.c
Log Message:
tests/lint: demonstrate missing [[noreturn]] handling
To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/tests/usr.bin/xlint/lint1/msg_217.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tests/usr.bin/xlint/lint1/msg_217.c
diff -u src/tests/usr.bin/xlint/lint1/msg_217.c:1.12 src/tests/usr.bin/xlint/lint1/msg_217.c:1.13
--- src/tests/usr.bin/xlint/lint1/msg_217.c:1.12 Fri Jul 7 19:45:22 2023
+++ src/tests/usr.bin/xlint/lint1/msg_217.c Wed Nov 13 02:54:48 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: msg_217.c,v 1.12 2023/07/07 19:45:22 rillig Exp $ */
+/* $NetBSD: msg_217.c,v 1.13 2024/11/13 02:54:48 rillig Exp $ */
# 3 "msg_217.c"
// Test for message: function '%s' falls off bottom without returning value [217]
@@ -71,3 +71,50 @@ unreachable_continue_falls_through(void)
}
}
/* expect-1: warning: function 'unreachable_continue_falls_through' falls off bottom without returning value [217] */
+
+
+_Noreturn void noreturn_c11(void);
+[[noreturn]] void noreturn_c23(void);
+__attribute__((__noreturn__)) void noreturn_gnu_prefix(void);
+void __attribute__((__noreturn__)) noreturn_gnu_infix(void);
+void noreturn_gnu_suffix(void) __attribute__((__noreturn__));
+
+int
+call_noreturn_c11(void)
+{
+ noreturn_c11();
+ // FIXME
+ /* expect+1: warning: function 'call_noreturn_c11' falls off bottom without returning value [217] */
+}
+
+int
+call_noreturn_c23(void)
+{
+ noreturn_c23();
+ // FIXME
+ /* expect+1: warning: function 'call_noreturn_c23' falls off bottom without returning value [217] */
+}
+
+int
+call_noreturn_gnu_prefix(void)
+{
+ noreturn_gnu_prefix();
+ // FIXME
+ /* expect+1: warning: function 'call_noreturn_gnu_prefix' falls off bottom without returning value [217] */
+}
+
+int
+call_noreturn_gnu_infix(void)
+{
+ noreturn_gnu_infix();
+ // FIXME
+ /* expect+1: warning: function 'call_noreturn_gnu_infix' falls off bottom without returning value [217] */
+}
+
+int
+call_noreturn_gnu_suffix(void)
+{
+ noreturn_gnu_suffix();
+ // FIXME
+ /* expect+1: warning: function 'call_noreturn_gnu_suffix' falls off bottom without returning value [217] */
+}