Module Name: src
Committed By: rillig
Date: Sat Jul 10 08:40:36 UTC 2021
Modified Files:
src/tests/usr.bin/xlint/lint1: decl_arg.c decl_arg.exp
Log Message:
tests/lint: add code coverage for grammar rule parameter_declaration
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/tests/usr.bin/xlint/lint1/decl_arg.c
cvs rdiff -u -r1.1 -r1.2 src/tests/usr.bin/xlint/lint1/decl_arg.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/decl_arg.c
diff -u src/tests/usr.bin/xlint/lint1/decl_arg.c:1.3 src/tests/usr.bin/xlint/lint1/decl_arg.c:1.4
--- src/tests/usr.bin/xlint/lint1/decl_arg.c:1.3 Sat Jul 10 08:01:11 2021
+++ src/tests/usr.bin/xlint/lint1/decl_arg.c Sat Jul 10 08:40:36 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: decl_arg.c,v 1.3 2021/07/10 08:01:11 rillig Exp $ */
+/* $NetBSD: decl_arg.c,v 1.4 2021/07/10 08:40:36 rillig Exp $ */
# 3 "decl_arg.c"
/*
@@ -102,9 +102,24 @@ void test_varargs_attribute(
* need to be enclosed by one more pair of parentheses than usual.
*/
void cover_direct_notype_param_decl(
- double (f1),
+ double (identifier),
double ((parenthesized)),
double (array[]),
double (array_size[3]),
double (*)(void (function()))
);
+
+/*
+ * Just some unrealistic code to cover the grammar rule parameter_declaration.
+ */
+/* expect+4: error: only register valid as formal parameter storage class [9] */
+void cover_parameter_declaration(
+ volatile, /* 1 */
+ double, /* 2 */
+ static storage_class, /* 3.1 */
+ const type_qualifier, /* 3.2 */
+ double (identifier), /* 4 */
+ const (*), /* 5 */
+ double *const, /* 6 */
+ ...
+);
Index: src/tests/usr.bin/xlint/lint1/decl_arg.exp
diff -u src/tests/usr.bin/xlint/lint1/decl_arg.exp:1.1 src/tests/usr.bin/xlint/lint1/decl_arg.exp:1.2
--- src/tests/usr.bin/xlint/lint1/decl_arg.exp:1.1 Fri Jul 9 20:20:03 2021
+++ src/tests/usr.bin/xlint/lint1/decl_arg.exp Sat Jul 10 08:40:36 2021
@@ -25,3 +25,4 @@ decl_arg.c(77): error: declared argument
decl_arg.c(79): error: declared argument postfix_attribute is missing [53]
decl_arg.c(81): error: declared argument infix_attribute is missing [53]
decl_arg.c(90): error: declared argument pointer_prefix_attribute is missing [53]
+decl_arg.c(119): error: only register valid as formal parameter storage class [9]