Module Name: src Committed By: rillig Date: Sat Jul 10 22:46:02 UTC 2021
Modified Files: src/tests/usr.bin/xlint/lint1: decl_struct_member.c decl_struct_member.exp src/usr.bin/xlint/lint1: cgram.y Log Message: lint: fix parsing of __attribute__ for member (since 2021-07-10) Since cgram.y 1.280 from 2021-07-10, lint could not parse struct members that have multiple __attribute__ in front of their type. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/tests/usr.bin/xlint/lint1/decl_struct_member.c cvs rdiff -u -r1.3 -r1.4 src/tests/usr.bin/xlint/lint1/decl_struct_member.exp cvs rdiff -u -r1.304 -r1.305 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/tests/usr.bin/xlint/lint1/decl_struct_member.c diff -u src/tests/usr.bin/xlint/lint1/decl_struct_member.c:1.4 src/tests/usr.bin/xlint/lint1/decl_struct_member.c:1.5 --- src/tests/usr.bin/xlint/lint1/decl_struct_member.c:1.4 Sat Jul 10 22:34:02 2021 +++ src/tests/usr.bin/xlint/lint1/decl_struct_member.c Sat Jul 10 22:46:02 2021 @@ -1,9 +1,8 @@ -/* $NetBSD: decl_struct_member.c,v 1.4 2021/07/10 22:34:02 rillig Exp $ */ +/* $NetBSD: decl_struct_member.c,v 1.5 2021/07/10 22:46:02 rillig Exp $ */ # 3 "decl_struct_member.c" struct multi_attributes { __attribute__((deprecated)) - /* expect+1: error: syntax error '__attribute__' [249] */ __attribute__((deprecated)) __attribute__((deprecated)) int deprecated; Index: src/tests/usr.bin/xlint/lint1/decl_struct_member.exp diff -u src/tests/usr.bin/xlint/lint1/decl_struct_member.exp:1.3 src/tests/usr.bin/xlint/lint1/decl_struct_member.exp:1.4 --- src/tests/usr.bin/xlint/lint1/decl_struct_member.exp:1.3 Sat Jul 10 22:34:02 2021 +++ src/tests/usr.bin/xlint/lint1/decl_struct_member.exp Sat Jul 10 22:46:02 2021 @@ -1,5 +1,4 @@ -decl_struct_member.c(7): error: syntax error '__attribute__' [249] -decl_struct_member.c(18): error: syntax error 'unnamed member' [249] -decl_struct_member.c(25): error: syntax error '0' [249] -decl_struct_member.c(26): warning: syntax requires ';' after last struct/union member [66] -decl_struct_member.c(33): error: cannot recover from previous errors [224] +decl_struct_member.c(17): error: syntax error 'unnamed member' [249] +decl_struct_member.c(24): error: syntax error '0' [249] +decl_struct_member.c(25): warning: syntax requires ';' after last struct/union member [66] +decl_struct_member.c(32): error: cannot recover from previous errors [224] Index: src/usr.bin/xlint/lint1/cgram.y diff -u src/usr.bin/xlint/lint1/cgram.y:1.304 src/usr.bin/xlint/lint1/cgram.y:1.305 --- src/usr.bin/xlint/lint1/cgram.y:1.304 Sat Jul 10 21:44:51 2021 +++ src/usr.bin/xlint/lint1/cgram.y Sat Jul 10 22:46:02 2021 @@ -1,5 +1,5 @@ %{ -/* $NetBSD: cgram.y,v 1.304 2021/07/10 21:44:51 rillig Exp $ */ +/* $NetBSD: cgram.y,v 1.305 2021/07/10 22:46:02 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.304 2021/07/10 21:44:51 rillig Exp $"); +__RCSID("$NetBSD: cgram.y,v 1.305 2021/07/10 22:46:02 rillig Exp $"); #endif #include <limits.h> @@ -124,7 +124,7 @@ anonymize(sym_t *s) %} -%expect 136 +%expect 131 %union { val_t *y_val; @@ -715,7 +715,7 @@ struct_declaration: noclass_declspecs: noclass_declspecs_postfix - | type_attribute noclass_declspecs_postfix + | type_attribute noclass_declspecs ; noclass_declspecs_postfix: