Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/tests/usr.bin/xlint tests/lint: test passing of printf-like ...



details:   https://anonhg.NetBSD.org/src/rev/7372a2f6796a
branches:  trunk
changeset: 1022810:7372a2f6796a
user:      rillig <rillig%NetBSD.org@localhost>
date:      Sun Aug 08 11:07:19 2021 +0000

description:
tests/lint: test passing of printf-like strings between lint1 and lint2

diffstat:

 tests/usr.bin/xlint/lint1/emit.c         |  21 ++++++++++++++++++++-
 tests/usr.bin/xlint/lint1/emit.exp-ln    |   6 ++++++
 tests/usr.bin/xlint/lint2/read_printf.ln |   8 +++++++-
 3 files changed, 33 insertions(+), 2 deletions(-)

diffs (64 lines):

diff -r 0bf27be8fd84 -r 7372a2f6796a tests/usr.bin/xlint/lint1/emit.c
--- a/tests/usr.bin/xlint/lint1/emit.c  Sun Aug 08 10:59:27 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/emit.c  Sun Aug 08 11:07:19 2021 +0000
@@ -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 @@
  * 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");
+}
diff -r 0bf27be8fd84 -r 7372a2f6796a tests/usr.bin/xlint/lint1/emit.exp-ln
--- a/tests/usr.bin/xlint/lint1/emit.exp-ln     Sun Aug 08 10:59:27 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/emit.exp-ln     Sun Aug 08 11:07:19 2021 +0000
@@ -50,3 +50,9 @@
 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
diff -r 0bf27be8fd84 -r 7372a2f6796a tests/usr.bin/xlint/lint2/read_printf.ln
--- a/tests/usr.bin/xlint/lint2/read_printf.ln  Sun Aug 08 10:59:27 2021 +0000
+++ b/tests/usr.bin/xlint/lint2/read_printf.ln  Sun Aug 08 11:07:19 2021 +0000
@@ -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 @@
 # 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



Home | Main Index | Thread Index | Old Index