Module Name: src Committed By: rillig Date: Sun Aug 8 11:07:20 UTC 2021
Modified Files: src/tests/usr.bin/xlint/lint1: emit.c emit.exp-ln src/tests/usr.bin/xlint/lint2: read_printf.ln Log Message: tests/lint: test passing of printf-like strings between lint1 and lint2 To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/usr.bin/xlint/lint1/emit.c \ src/tests/usr.bin/xlint/lint1/emit.exp-ln cvs rdiff -u -r1.1 -r1.2 src/tests/usr.bin/xlint/lint2/read_printf.ln 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/emit.c diff -u src/tests/usr.bin/xlint/lint1/emit.c:1.1 src/tests/usr.bin/xlint/lint1/emit.c:1.2 --- src/tests/usr.bin/xlint/lint1/emit.c:1.1 Sun Apr 18 20:02:56 2021 +++ src/tests/usr.bin/xlint/lint1/emit.c Sun Aug 8 11:07:19 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: emit.c,v 1.1 2021/04/18 20:02:56 rillig Exp $ */ +/* $NetBSD: emit.c,v 1.2 2021/08/08 11:07:19 rillig Exp $ */ # 3 "emit.c" /* @@ -144,3 +144,22 @@ void taking_varargs(const char *, ...); * it. */ static int static_function(void); /* expect: declared */ + +void my_printf(const char *, ...); + +/* + * String literals that occur in function calls are written to the .ln file, + * just in case they are related to a printf-like or scanf-like function. + * + * In this example, the various strings are not format strings, they just + * serve to cover the code that escapes character literals (outqchar in + * lint1) and reads them back into characters (inpqstrg in lint2). + */ +void +cover_outqchar(void) +{ + my_printf("%s", "%"); + my_printf("%s", "%s"); + my_printf("%s", "%%"); + my_printf("%s", "%\a %\b %\f %\n %\r %\t %\v %\177"); +} Index: src/tests/usr.bin/xlint/lint1/emit.exp-ln diff -u src/tests/usr.bin/xlint/lint1/emit.exp-ln:1.1 src/tests/usr.bin/xlint/lint1/emit.exp-ln:1.2 --- src/tests/usr.bin/xlint/lint1/emit.exp-ln:1.1 Sun Jun 27 09:22:31 2021 +++ src/tests/usr.bin/xlint/lint1/emit.exp-ln Sun Aug 8 11:07:19 2021 @@ -50,3 +50,9 @@ Semit.c 136d0.135e33taking_struct_union_enum_typedefsF3sT214struct_typedefuT213union_typedefeT212enum_typedefV 138d0.138e14taking_varargsF2PcCEV 146d0.146es15static_functionF0I +148d0.148e9my_printfF2PcCEV +161c0.161s2"%"i9my_printff2PcCPCV +162c0.162s2"%s"i9my_printff2PcCPCV +163c0.163s2"%%"i9my_printff2PcCPCV +164c0.164s2"%\a%\b%\f%\n%\r%\t%\v%\177"i9my_printff2PcCPCV +159d0.159d14cover_outqcharF0V Index: src/tests/usr.bin/xlint/lint2/read_printf.ln diff -u src/tests/usr.bin/xlint/lint2/read_printf.ln:1.1 src/tests/usr.bin/xlint/lint2/read_printf.ln:1.2 --- src/tests/usr.bin/xlint/lint2/read_printf.ln:1.1 Sat Aug 7 23:52:32 2021 +++ src/tests/usr.bin/xlint/lint2/read_printf.ln Sun Aug 8 11:07:19 2021 @@ -1,4 +1,4 @@ -# $NetBSD: read_printf.ln,v 1.1 2021/08/07 23:52:32 rillig Exp $ +# $NetBSD: read_printf.ln,v 1.2 2021/08/08 11:07:19 rillig Exp $ # # Test reading of declarations and usage of printf-like functions. @@ -33,3 +33,9 @@ Sprintf-use.c # Argument 3 is a negative integer. # Argument 4 has no further interesting properties. 13c0.13 s2"" n3 i 9my_printf f4 PcC PC I PcV V + +# See tests/lint1/emit.c, function cover_outqchar. +161c0.161 s2"%" i 9my_printf f2 PcC PC V +162c0.162 s2"%s"i 9my_printf f2 PcC PC V +163c0.163 s2"%%" i 9my_printf f2 PcC PC V +164c0.164 s2"%\a%\b%\f%\n%\r%\t%\v%\177" i 9my_printf f2 PcC PC V