Module Name: src Committed By: rillig Date: Thu Mar 28 21:04:49 UTC 2024
Modified Files: src/tests/usr.bin/xlint/lint1: lang_level_c99.c src/usr.bin/xlint/lint1: README.md err.c externs1.h Log Message: lint: clean up To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/tests/usr.bin/xlint/lint1/lang_level_c99.c cvs rdiff -u -r1.16 -r1.17 src/usr.bin/xlint/lint1/README.md cvs rdiff -u -r1.234 -r1.235 src/usr.bin/xlint/lint1/err.c cvs rdiff -u -r1.219 -r1.220 src/usr.bin/xlint/lint1/externs1.h 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/lang_level_c99.c diff -u src/tests/usr.bin/xlint/lint1/lang_level_c99.c:1.2 src/tests/usr.bin/xlint/lint1/lang_level_c99.c:1.3 --- src/tests/usr.bin/xlint/lint1/lang_level_c99.c:1.2 Sun Aug 6 19:44:50 2023 +++ src/tests/usr.bin/xlint/lint1/lang_level_c99.c Thu Mar 28 21:04:48 2024 @@ -1,16 +1,21 @@ -/* $NetBSD: lang_level_c99.c,v 1.2 2023/08/06 19:44:50 rillig Exp $ */ +/* $NetBSD: lang_level_c99.c,v 1.3 2024/03/28 21:04:48 rillig Exp $ */ # 3 "lang_level_c99.c" /* - * Tests that are specific to the C99 language level, in particular, features - * that were added in C99. + * Tests that are specific to the C99 language level, in particular: * - * In the below comments, [-] means unsupported and [x] means supported. + * * syntax elements that were added in C99 + * * lint diagnostics that differ between the C90 and C99 language levels + * * lint diagnostics that differ between the C99 and C11 language levels */ /* lint1-flags: -S -w -X 351 */ -/* C99 Foreword */ +/* + * Features that were added in the C99 standard, as listed in the C99 foreword. + * + * In the below comments, [-] means unsupported and [x] means supported. + */ // [-] restricted character set support via digraphs and <iso646.h> // Index: src/usr.bin/xlint/lint1/README.md diff -u src/usr.bin/xlint/lint1/README.md:1.16 src/usr.bin/xlint/lint1/README.md:1.17 --- src/usr.bin/xlint/lint1/README.md:1.16 Sat Mar 9 13:54:47 2024 +++ src/usr.bin/xlint/lint1/README.md Thu Mar 28 21:04:48 2024 @@ -1,4 +1,4 @@ -[//]: # ($NetBSD: README.md,v 1.16 2024/03/09 13:54:47 rillig Exp $) +[//]: # ($NetBSD: README.md,v 1.17 2024/03/28 21:04:48 rillig Exp $) # Introduction @@ -7,9 +7,9 @@ Lint1 analyzes a single translation unit * It reads the output of the C preprocessor, retaining the comments. * The lexer in `scan.l` and `lex.c` splits the input into tokens. * The parser in `cgram.y` creates types and expressions from the tokens. -* It checks declarations in `decl.c`. -* It checks initializations in `init.c`. -* It checks types and expressions in `tree.c`. +* The checks for declarations are in `decl.c`. +* The checks for initializations are in `init.c`. +* The checks for types and expressions are in `tree.c`. To see how a specific lint message is triggered, read the corresponding unit test in `tests/usr.bin/xlint/lint1/msg_???.c`. @@ -48,10 +48,11 @@ or just informational depends on several * The language level, with its possible values: * traditional C (`-t`) - * migration from traditional C and C90 (default) + * migration from traditional C to C90 (default) * C90 (`-s`) * C99 (`-S`) * C11 (`-Ac11`) + * C23 (`-Ac23`) * In GCC mode (`-g`), lint allows several GNU extensions, reducing the amount of printed messages. * In strict bool mode (`-T`), lint issues errors when `bool` is mixed with Index: src/usr.bin/xlint/lint1/err.c diff -u src/usr.bin/xlint/lint1/err.c:1.234 src/usr.bin/xlint/lint1/err.c:1.235 --- src/usr.bin/xlint/lint1/err.c:1.234 Wed Mar 27 19:28:20 2024 +++ src/usr.bin/xlint/lint1/err.c Thu Mar 28 21:04:48 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: err.c,v 1.234 2024/03/27 19:28:20 rillig Exp $ */ +/* $NetBSD: err.c,v 1.235 2024/03/28 21:04:48 rillig Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -37,7 +37,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) -__RCSID("$NetBSD: err.c,v 1.234 2024/03/27 19:28:20 rillig Exp $"); +__RCSID("$NetBSD: err.c,v 1.235 2024/03/28 21:04:48 rillig Exp $"); #endif #include <limits.h> @@ -739,7 +739,7 @@ static const char *queries[] = { "implicit conversion from integer 0 to pointer '%s'", // Q15 "'%s' was declared 'static', now non-'static'", // Q16 "invisible character U+%04X in %s", // Q17 - "const automatic variable '%s'", // Q18 + "const automatic variable '%s'", // Q18 }; bool any_query_enabled; /* for optimizing non-query scenarios */ Index: src/usr.bin/xlint/lint1/externs1.h diff -u src/usr.bin/xlint/lint1/externs1.h:1.219 src/usr.bin/xlint/lint1/externs1.h:1.220 --- src/usr.bin/xlint/lint1/externs1.h:1.219 Sat Mar 9 10:41:11 2024 +++ src/usr.bin/xlint/lint1/externs1.h Thu Mar 28 21:04:48 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: externs1.h,v 1.219 2024/03/09 10:41:11 rillig Exp $ */ +/* $NetBSD: externs1.h,v 1.220 2024/03/28 21:04:48 rillig Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -36,21 +36,21 @@ /* * main1.c */ +extern bool Fflag; +extern bool Pflag; +extern bool Tflag; extern int aflag; extern bool bflag; extern bool cflag; extern bool eflag; -extern bool Fflag; extern bool hflag; extern bool pflag; extern bool rflag; extern bool uflag; extern bool vflag; -extern bool yflag; extern bool wflag; +extern bool yflag; extern bool zflag; -extern bool Tflag; -extern bool Pflag; extern bool allow_trad; extern bool allow_c90; @@ -74,7 +74,7 @@ int yyerror(const char *); int yyparse(void); /* - * scan.l + * lex.c */ extern bool in_gcc_attribute; extern pos_t curr_pos;