Module Name: src Committed By: rillig Date: Tue Jul 6 05:12:44 UTC 2021
Modified Files: src/usr.bin/xlint/lint1: cgram.y Log Message: lint: reduce grammar conflicts for GCC attributes In all but one case, the use of type_attribute_list introduced an unnecessary ambiguity in the grammar. It appeared in a place where it could be repeated either by the type_attribute_list or by the enclosing rule. Both variants have the same effect. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.254 -r1.255 src/usr.bin/xlint/lint1/cgram.y Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.bin/xlint/lint1/cgram.y diff -u src/usr.bin/xlint/lint1/cgram.y:1.254 src/usr.bin/xlint/lint1/cgram.y:1.255 --- src/usr.bin/xlint/lint1/cgram.y:1.254 Tue Jul 6 04:48:17 2021 +++ src/usr.bin/xlint/lint1/cgram.y Tue Jul 6 05:12:44 2021 @@ -1,5 +1,5 @@ %{ -/* $NetBSD: cgram.y,v 1.254 2021/07/06 04:48:17 rillig Exp $ */ +/* $NetBSD: cgram.y,v 1.255 2021/07/06 05:12:44 rillig Exp $ */ /* * Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved. @@ -35,7 +35,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) && !defined(lint) -__RCSID("$NetBSD: cgram.y,v 1.254 2021/07/06 04:48:17 rillig Exp $"); +__RCSID("$NetBSD: cgram.y,v 1.255 2021/07/06 05:12:44 rillig Exp $"); #endif #include <limits.h> @@ -123,7 +123,7 @@ anonymize(sym_t *s) } %} -%expect 182 +%expect 166 %union { val_t *y_val; @@ -690,7 +690,7 @@ declmod: | T_SCLASS { add_storage_class($1); } - | type_attribute_list + | type_attribute ; clrtyp_typespec: @@ -1090,7 +1090,7 @@ notype_direct_decl: end_declaration_level(); block_level--; } - | notype_direct_decl type_attribute_list + | notype_direct_decl type_attribute ; type_direct_decl: @@ -1114,7 +1114,7 @@ type_direct_decl: end_declaration_level(); block_level--; } - | type_direct_decl type_attribute_list + | type_direct_decl type_attribute ; /* @@ -1492,7 +1492,7 @@ direct_abstract_declarator: /* C99 6.7. end_declaration_level(); block_level--; } - | direct_abstract_declarator type_attribute_list + | direct_abstract_declarator type_attribute ; non_expr_statement: