Module Name: src
Committed By: rillig
Date: Sun Feb 28 00:52:16 UTC 2021
Modified Files:
src/tests/usr.bin/xlint/lint1: msg_153.c msg_153.exp msg_229.c
msg_229.exp
Log Message:
tests/lint: add tests for function pointers
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/tests/usr.bin/xlint/lint1/msg_153.c \
src/tests/usr.bin/xlint/lint1/msg_229.c
cvs rdiff -u -r1.1 -r1.2 src/tests/usr.bin/xlint/lint1/msg_153.exp \
src/tests/usr.bin/xlint/lint1/msg_229.exp
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_153.c
diff -u src/tests/usr.bin/xlint/lint1/msg_153.c:1.2 src/tests/usr.bin/xlint/lint1/msg_153.c:1.3
--- src/tests/usr.bin/xlint/lint1/msg_153.c:1.2 Sun Feb 21 09:07:58 2021
+++ src/tests/usr.bin/xlint/lint1/msg_153.c Sun Feb 28 00:52:16 2021
@@ -1,7 +1,15 @@
-/* $NetBSD: msg_153.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */
+/* $NetBSD: msg_153.c,v 1.3 2021/02/28 00:52:16 rillig Exp $ */
# 3 "msg_153.c"
// Test for message: argument has incompatible pointer type, arg #%d (%s != %s) [153]
-TODO: "Add example code that triggers the above message." /* expect: 249 */
-TODO: "Add example code that almost triggers the above message."
+
+typedef double (*unary_operator)(double);
+
+void sink_unary_operator(unary_operator);
+
+void
+example(int x)
+{
+ sink_unary_operator(&x);
+}
Index: src/tests/usr.bin/xlint/lint1/msg_229.c
diff -u src/tests/usr.bin/xlint/lint1/msg_229.c:1.2 src/tests/usr.bin/xlint/lint1/msg_229.c:1.3
--- src/tests/usr.bin/xlint/lint1/msg_229.c:1.2 Sun Feb 21 09:07:58 2021
+++ src/tests/usr.bin/xlint/lint1/msg_229.c Sun Feb 28 00:52:16 2021
@@ -1,7 +1,12 @@
-/* $NetBSD: msg_229.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */
+/* $NetBSD: msg_229.c,v 1.3 2021/02/28 00:52:16 rillig Exp $ */
# 3 "msg_229.c"
// Test for message: questionable conversion of function pointer [229]
-TODO: "Add example code that triggers the above message." /* expect: 249 */
-TODO: "Add example code that almost triggers the above message."
+typedef double (*unary_operator)(double);
+
+int *
+example(unary_operator op)
+{
+ return (int *)op;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_153.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_153.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_153.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_153.exp:1.1 Sat Jan 2 10:22:43 2021
+++ src/tests/usr.bin/xlint/lint1/msg_153.exp Sun Feb 28 00:52:16 2021
@@ -1 +1 @@
-msg_153.c(6): syntax error ':' [249]
+msg_153.c(14): warning: argument has incompatible pointer type, arg #1 (pointer to function(double) returning double != pointer to int) [153]
Index: src/tests/usr.bin/xlint/lint1/msg_229.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_229.exp:1.1 src/tests/usr.bin/xlint/lint1/msg_229.exp:1.2
--- src/tests/usr.bin/xlint/lint1/msg_229.exp:1.1 Sat Jan 2 10:22:44 2021
+++ src/tests/usr.bin/xlint/lint1/msg_229.exp Sun Feb 28 00:52:16 2021
@@ -1 +1 @@
-msg_229.c(6): syntax error ':' [249]
+msg_229.c(11): warning: questionable conversion of function pointer [229]