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]