Module Name: src Committed By: christos Date: Fri Sep 17 20:17:30 UTC 2021
Modified Files: src/usr.bin/xlint/lint1: cgram.y lex.c Log Message: remove the lint kludges To generate a diff of this commit: cvs rdiff -u -r1.364 -r1.365 src/usr.bin/xlint/lint1/cgram.y cvs rdiff -u -r1.81 -r1.82 src/usr.bin/xlint/lint1/lex.c 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.364 src/usr.bin/xlint/lint1/cgram.y:1.365 --- src/usr.bin/xlint/lint1/cgram.y:1.364 Tue Sep 14 15:44:40 2021 +++ src/usr.bin/xlint/lint1/cgram.y Fri Sep 17 16:17:30 2021 @@ -1,5 +1,5 @@ %{ -/* $NetBSD: cgram.y,v 1.364 2021/09/14 19:44:40 rillig Exp $ */ +/* $NetBSD: cgram.y,v 1.365 2021/09/17 20:17:30 christos 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.364 2021/09/14 19:44:40 rillig Exp $"); +__RCSID("$NetBSD: cgram.y,v 1.365 2021/09/17 20:17:30 christos Exp $"); #endif #include <limits.h> @@ -211,6 +211,7 @@ anonymize(sym_t *s) %token T_SWITCH %token T_SYMBOLRENAME %token T_WHILE +%token T_STATIC_ASSERT %token T_ATTRIBUTE %token T_AT_ALIAS @@ -761,6 +762,7 @@ declaration: /* C99 6.7 */ } | begin_type_declaration_specifiers end_type type_init_declarators T_SEMI + | static_assert_declaration ; begin_type_declaration_specifiers: /* see C99 6.7 */ @@ -993,6 +995,7 @@ struct_declaration: /* C99 6.7.2.1 */ $$ = NULL; } } + | static_assert_declaration | error T_SEMI { symtyp = FVFT; $$ = NULL; @@ -1567,6 +1570,11 @@ designator: /* C99 6.7.8 "Initializati } ; +static_assert_declaration: + T_STATIC_ASSERT T_LPAREN constant_expr T_COMMA T_STRING T_RPAREN T_SEMI + | T_STATIC_ASSERT T_LPAREN constant_expr T_RPAREN T_SEMI + ; + range: constant_expr { $$.lo = to_int_constant($1, true); Index: src/usr.bin/xlint/lint1/lex.c diff -u src/usr.bin/xlint/lint1/lex.c:1.81 src/usr.bin/xlint/lint1/lex.c:1.82 --- src/usr.bin/xlint/lint1/lex.c:1.81 Sun Sep 5 12:03:55 2021 +++ src/usr.bin/xlint/lint1/lex.c Fri Sep 17 16:17:30 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: lex.c,v 1.81 2021/09/05 16:03:55 rillig Exp $ */ +/* $NetBSD: lex.c,v 1.82 2021/09/17 20:17:30 christos Exp $ */ /* * Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved. @@ -38,7 +38,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) && !defined(lint) -__RCSID("$NetBSD: lex.c,v 1.81 2021/09/05 16:03:55 rillig Exp $"); +__RCSID("$NetBSD: lex.c,v 1.82 2021/09/17 20:17:30 christos Exp $"); #endif #include <ctype.h> @@ -217,6 +217,7 @@ static struct kwtab { kwdef_type( "signed", SIGNED, 1,0,0,0,3), kwdef_keyword( "sizeof", T_SIZEOF), kwdef_sclass( "static", STATIC, 0,0,0,0,1), + kwdef_keyword( "_Static_assert",T_STATIC_ASSERT), kwdef_gcc_attr( "strfmon", T_AT_FORMAT_STRFMON), kwdef_gcc_attr( "strftime", T_AT_FORMAT_STRFTIME), kwdef_gcc_attr( "string", T_AT_STRING),