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]

Reply via email to