Module Name: src
Committed By: rillig
Date: Mon Nov 1 23:44:08 UTC 2021
Modified Files:
src/tests/usr.bin/indent: opt_ci.c
src/usr.bin/indent: indent.c indent.h lexi.c
Log Message:
indent: fix missing blank after 'return' (since 2021-10-31)
In indent.c 1.200 from 2021-10-31, the subtypes of identifier tokens
were removed since they were redundant. An unintended side effect was
that a parenthesized expression after 'return' was no longer separated
by a blank.
Before that change, 'return' was tokenized as an lsym_ident with subtype
kw_other, and want_space_before_lparen handled this case in the last
line. After the change, 'return' was treated as an ordinary identifier,
and unless the option '-pcs' (blank after function call) was given, the
blank was removed.
The other keywords that had kw_other are not affected since they do not
expect a '(' afterwards. These keywords are 'break', 'continue', 'goto',
'inline' and 'restrict'.
Curiously, there was not a single test case that covered 'return(expr)'.
While here, remove the trailing ',' from the enum lexer_symbol, which is
not allowed in standard C, it is a GNU extension. Lint doesn't complain
about this since the default LINTFLAGS include '-g' for GCC mode.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/tests/usr.bin/indent/opt_ci.c
cvs rdiff -u -r1.203 -r1.204 src/usr.bin/indent/indent.c
cvs rdiff -u -r1.74 -r1.75 src/usr.bin/indent/indent.h
cvs rdiff -u -r1.128 -r1.129 src/usr.bin/indent/lexi.c
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/indent/opt_ci.c
diff -u src/tests/usr.bin/indent/opt_ci.c:1.2 src/tests/usr.bin/indent/opt_ci.c:1.3
--- src/tests/usr.bin/indent/opt_ci.c:1.2 Mon Nov 1 22:48:56 2021
+++ src/tests/usr.bin/indent/opt_ci.c Mon Nov 1 23:44:08 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: opt_ci.c,v 1.2 2021/11/01 22:48:56 rillig Exp $ */
+/* $NetBSD: opt_ci.c,v 1.3 2021/11/01 23:44:08 rillig Exp $ */
/* $FreeBSD$ */
/*
@@ -136,11 +136,11 @@ sum(int a, int b)
int
sum(int a, int b)
{
- return(a +
- b);
- return(first +
- second + (
- third));
+ return (a +
+ b);
+ return (first +
+ second + (
+ third));
}
#indent end
#indent run-equals-prev-output -ci2
@@ -151,9 +151,9 @@ sum(int a, int b)
int
sum(int a, int b)
{
- return(a +
+ return (a +
b);
- return(first +
+ return (first +
second + (
third));
}
@@ -169,9 +169,9 @@ sum(int a, int b)
int
sum(int a, int b)
{
- return(a +
+ return (a +
b);
- return(first +
+ return (first +
second + (
third));
}
@@ -181,9 +181,9 @@ sum(int a, int b)
int
sum(int a, int b)
{
- return(a +
+ return (a +
b);
- return(first +
+ return (first +
second + (
third));
}
Index: src/usr.bin/indent/indent.c
diff -u src/usr.bin/indent/indent.c:1.203 src/usr.bin/indent/indent.c:1.204
--- src/usr.bin/indent/indent.c:1.203 Sun Oct 31 22:38:12 2021
+++ src/usr.bin/indent/indent.c Mon Nov 1 23:44:08 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: indent.c,v 1.203 2021/10/31 22:38:12 rillig Exp $ */
+/* $NetBSD: indent.c,v 1.204 2021/11/01 23:44:08 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -43,7 +43,7 @@ static char sccsid[] = "@(#)indent.c 5.1
#include <sys/cdefs.h>
#if defined(__NetBSD__)
-__RCSID("$NetBSD: indent.c,v 1.203 2021/10/31 22:38:12 rillig Exp $");
+__RCSID("$NetBSD: indent.c,v 1.204 2021/11/01 23:44:08 rillig Exp $");
#elif defined(__FreeBSD__)
__FBSDID("$FreeBSD: head/usr.bin/indent/indent.c 340138 2018-11-04 19:24:49Z oshogbo $");
#endif
@@ -1501,6 +1501,7 @@ main_loop(void)
case lsym_sizeof:
case lsym_ident:
case lsym_funcname:
+ case lsym_return:
process_ident(lsym, decl_ind, tabs_to_var, &spaced_expr,
&force_nl, hd);
copy_token:
Index: src/usr.bin/indent/indent.h
diff -u src/usr.bin/indent/indent.h:1.74 src/usr.bin/indent/indent.h:1.75
--- src/usr.bin/indent/indent.h:1.74 Sun Oct 31 22:38:12 2021
+++ src/usr.bin/indent/indent.h Mon Nov 1 23:44:08 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: indent.h,v 1.74 2021/10/31 22:38:12 rillig Exp $ */
+/* $NetBSD: indent.h,v 1.75 2021/11/01 23:44:08 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
@@ -105,6 +105,7 @@ typedef enum lexer_symbol {
lsym_if,
lsym_switch,
lsym_while,
+ lsym_return
} lexer_symbol;
typedef enum parser_symbol {
Index: src/usr.bin/indent/lexi.c
diff -u src/usr.bin/indent/lexi.c:1.128 src/usr.bin/indent/lexi.c:1.129
--- src/usr.bin/indent/lexi.c:1.128 Sun Oct 31 22:38:12 2021
+++ src/usr.bin/indent/lexi.c Mon Nov 1 23:44:08 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: lexi.c,v 1.128 2021/10/31 22:38:12 rillig Exp $ */
+/* $NetBSD: lexi.c,v 1.129 2021/11/01 23:44:08 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -43,7 +43,7 @@ static char sccsid[] = "@(#)lexi.c 8.1 (
#include <sys/cdefs.h>
#if defined(__NetBSD__)
-__RCSID("$NetBSD: lexi.c,v 1.128 2021/10/31 22:38:12 rillig Exp $");
+__RCSID("$NetBSD: lexi.c,v 1.129 2021/11/01 23:44:08 rillig Exp $");
#elif defined(__FreeBSD__)
__FBSDID("$FreeBSD: head/usr.bin/indent/lexi.c 337862 2018-08-15 18:19:45Z pstef $");
#endif
@@ -93,7 +93,7 @@ static const struct keyword {
{"offsetof", lsym_offsetof},
{"register", lsym_storage_class},
{"restrict", lsym_ident},
- {"return", lsym_ident},
+ {"return", lsym_return},
{"short", lsym_type},
{"signed", lsym_type},
{"sizeof", lsym_sizeof},
@@ -252,6 +252,7 @@ lsym_name(lexer_symbol sym)
"if",
"switch",
"while",
+ "return",
};
return name[sym];