From ccad6aa52f2c88cba021cba8c840c3ef6646d2c3 Mon Sep 17 00:00:00 2001 From: rillig Date: Sun, 25 Jul 2021 06:04:40 +0000 Subject: [PATCH] tests/lint: demonstrate internal error in parsing a declaration --- tests/usr.bin/xlint/lint1/decl_arg.c | 8 ++++++-- tests/usr.bin/xlint/lint1/decl_arg.exp | 24 ++++++++++++------------ 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/tests/usr.bin/xlint/lint1/decl_arg.c b/tests/usr.bin/xlint/lint1/decl_arg.c index 7d2e87730d9d..44a07127d63d 100644 --- a/tests/usr.bin/xlint/lint1/decl_arg.c +++ b/tests/usr.bin/xlint/lint1/decl_arg.c @@ -1,4 +1,4 @@ -/* $NetBSD: decl_arg.c,v 1.5 2021/07/10 09:24:27 rillig Exp $ */ +/* $NetBSD: decl_arg.c,v 1.6 2021/07/25 06:04:40 rillig Exp $ */ # 3 "decl_arg.c" /* @@ -55,7 +55,8 @@ struct a_struct { int member; } a_struct; } /* - * Just some unrealistic coverage for the grammar rule 'notype_direct_decl'. + * Just some unrealistic coverage for the grammar rule + * 'notype_direct_declarator'. */ extern int cover_notype_direct_decl(arg) @@ -129,3 +130,6 @@ void cover_asm_or_symbolrename_asm(void) void cover_asm_or_symbolrename_symbolrename(void) __symbolrename(alternate_name); + +// FIXME: internal error in decl.c:906 near decl_arg.c:134: length(0) +//void cover_abstract_declarator_typeof(void (*)(typeof(no_args))); diff --git a/tests/usr.bin/xlint/lint1/decl_arg.exp b/tests/usr.bin/xlint/lint1/decl_arg.exp index c735b4f3f40a..ad51e4f229ef 100644 --- a/tests/usr.bin/xlint/lint1/decl_arg.exp +++ b/tests/usr.bin/xlint/lint1/decl_arg.exp @@ -14,15 +14,15 @@ decl_arg.c(30): warning: argument 'a_const_int' unused in function 'old_style' [ decl_arg.c(30): warning: argument 'a_number' unused in function 'old_style' [231] decl_arg.c(30): warning: argument 'a_function' unused in function 'old_style' [231] decl_arg.c(30): warning: argument 'a_struct' unused in function 'old_style' [231] -decl_arg.c(64): error: declared argument name is missing [53] -decl_arg.c(66): error: declared argument parenthesized_name is missing [53] -decl_arg.c(68): error: declared argument array is missing [53] -decl_arg.c(70): error: declared argument array_size is missing [53] -decl_arg.c(73): error: null dimension [17] -decl_arg.c(73): error: declared argument multi_array is missing [53] -decl_arg.c(75): error: declared argument function is missing [53] -decl_arg.c(77): error: declared argument prefix_attribute is missing [53] -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] +decl_arg.c(65): error: declared argument name is missing [53] +decl_arg.c(67): error: declared argument parenthesized_name is missing [53] +decl_arg.c(69): error: declared argument array is missing [53] +decl_arg.c(71): error: declared argument array_size is missing [53] +decl_arg.c(74): error: null dimension [17] +decl_arg.c(74): error: declared argument multi_array is missing [53] +decl_arg.c(76): error: declared argument function is missing [53] +decl_arg.c(78): error: declared argument prefix_attribute is missing [53] +decl_arg.c(80): error: declared argument postfix_attribute is missing [53] +decl_arg.c(82): error: declared argument infix_attribute is missing [53] +decl_arg.c(91): error: declared argument pointer_prefix_attribute is missing [53] +decl_arg.c(120): error: only register valid as formal parameter storage class [9]