Module Name:    src
Committed By:   rillig
Date:           Sat Apr 16 18:13:54 UTC 2022

Modified Files:
        src/usr.bin/xlint/lint1: lex.c

Log Message:
lint: clean up keyword definitions for the lexer

There is only one specialized keyword that is also a GCC attribute, it's
"section".  All other keywords passed 0 in that macro argument.

No binary change.


To generate a diff of this commit:
cvs rdiff -u -r1.119 -r1.120 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/lex.c
diff -u src/usr.bin/xlint/lint1/lex.c:1.119 src/usr.bin/xlint/lint1/lex.c:1.120
--- src/usr.bin/xlint/lint1/lex.c:1.119	Wed Apr 13 22:20:42 2022
+++ src/usr.bin/xlint/lint1/lex.c	Sat Apr 16 18:13:54 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: lex.c,v 1.119 2022/04/13 22:20:42 rillig Exp $ */
+/* $NetBSD: lex.c,v 1.120 2022/04/16 18:13:54 rillig 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.119 2022/04/13 22:20:42 rillig Exp $");
+__RCSID("$NetBSD: lex.c,v 1.120 2022/04/16 18:13:54 rillig Exp $");
 #endif
 
 #include <ctype.h>
@@ -73,14 +73,14 @@ bool in_system_header;
 		(c90) > 0, (c99) > 0, (gcc) > 0, (attr) > 0, \
 		((deco) & 1) != 0, ((deco) & 2) != 0, ((deco) & 4) != 0, \
 	}
-#define kwdef_token(name, token,		c90, c99, gcc, attr, deco) \
-	kwdef(name, token, 0, 0, 0,		c90, c99, gcc, attr, deco)
-#define kwdef_sclass(name, sclass,		c90, c99, gcc, attr, deco) \
-	kwdef(name, T_SCLASS, sclass, 0, 0,	c90, c99, gcc, attr, deco)
-#define kwdef_type(name, tspec,			c90, c99, gcc, attr, deco) \
-	kwdef(name, T_TYPE, 0, tspec, 0,	c90, c99, gcc, attr, deco)
-#define kwdef_tqual(name, tqual,		c90, c99, gcc, attr, deco) \
-	kwdef(name, T_QUAL, 0, 0, tqual,	c90, c99, gcc, attr, deco)
+#define kwdef_token(name, token,		c90, c99, gcc, deco) \
+	kwdef(name, token, 0, 0, 0,		c90, c99, gcc, 0, deco)
+#define kwdef_sclass(name, sclass,		c90, c99, gcc, deco) \
+	kwdef(name, T_SCLASS, sclass, 0, 0,	c90, c99, gcc, 0, deco)
+#define kwdef_type(name, tspec,			c90, c99, gcc, deco) \
+	kwdef(name, T_TYPE, 0, tspec, 0,	c90, c99, gcc, 0, deco)
+#define kwdef_tqual(name, tqual,		c90, c99, gcc, deco) \
+	kwdef(name, T_QUAL, 0, 0, tqual,	c90, c99, gcc, 0, deco)
 #define kwdef_keyword(name, token) \
 	kwdef(name, token, 0, 0, 0,		0, 0, 0, 0, 1)
 #define kwdef_gcc_attr(name, token) \
@@ -106,23 +106,23 @@ static const struct keyword {
 	kwdef_keyword(	"_Alignas",	T_ALIGNAS),
 	kwdef_keyword(	"_Alignof",	T_ALIGNOF),
 	kwdef_gcc_attr(	"aligned",	T_AT_ALIGNED),
-	kwdef_token(	"__alignof__",	T_ALIGNOF,		0,0,0,0,1),
+	kwdef_token(	"__alignof__",	T_ALIGNOF,		0,0,0,1),
 	kwdef_gcc_attr(	"alloc_size",	T_AT_ALLOC_SIZE),
 	kwdef_gcc_attr(	"always_inline",T_AT_ALWAYS_INLINE),
-	kwdef_token(	"asm",		T_ASM,			0,0,1,0,7),
-	kwdef_token(	"attribute",	T_ATTRIBUTE,		0,0,1,0,6),
-	kwdef_sclass(	"auto",		AUTO,			0,0,0,0,1),
-	kwdef_type(	"_Bool",	BOOL,			0,1,0,0,1),
+	kwdef_token(	"asm",		T_ASM,			0,0,1,7),
+	kwdef_token(	"attribute",	T_ATTRIBUTE,		0,0,1,6),
+	kwdef_sclass(	"auto",		AUTO,			0,0,0,1),
+	kwdef_type(	"_Bool",	BOOL,			0,1,0,1),
 	kwdef_gcc_attr(	"bounded",	T_AT_BOUNDED),
 	kwdef_keyword(	"break",	T_BREAK),
 	kwdef_gcc_attr(	"buffer",	T_AT_BUFFER),
-	kwdef_token(	"__builtin_offsetof", T_BUILTIN_OFFSETOF, 0,0,1,0,1),
+	kwdef_token(	"__builtin_offsetof", T_BUILTIN_OFFSETOF, 0,0,1,1),
 	kwdef_keyword(	"case",		T_CASE),
-	kwdef_type(	"char",		CHAR,			0,0,0,0,1),
+	kwdef_type(	"char",		CHAR,			0,0,0,1),
 	kwdef_gcc_attr(	"cold",		T_AT_COLD),
 	kwdef_gcc_attr(	"common",	T_AT_COMMON),
-	kwdef_type(	"_Complex",	COMPLEX,		0,1,0,0,1),
-	kwdef_tqual(	"const",	CONST,			1,0,0,0,7),
+	kwdef_type(	"_Complex",	COMPLEX,		0,1,0,1),
+	kwdef_tqual(	"const",	CONST,			1,0,0,7),
 	kwdef_gcc_attr(	"constructor",	T_AT_CONSTRUCTOR),
 	kwdef_keyword(	"continue",	T_CONTINUE),
 	kwdef_keyword(	"default",	T_DEFAULT),
@@ -131,29 +131,29 @@ static const struct keyword {
 	kwdef_gcc_attr(	"disable_sanitizer_instrumentation",
 	    T_AT_DISABLE_SANITIZER_INSTRUMENTATION),
 	kwdef_keyword(	"do",		T_DO),
-	kwdef_type(	"double",	DOUBLE,			0,0,0,0,1),
+	kwdef_type(	"double",	DOUBLE,			0,0,0,1),
 	kwdef_keyword(	"else",		T_ELSE),
 	kwdef_keyword(	"enum",		T_ENUM),
-	kwdef_token(	"__extension__",T_EXTENSION,		0,0,1,0,1),
-	kwdef_sclass(	"extern",	EXTERN,			0,0,0,0,1),
+	kwdef_token(	"__extension__",T_EXTENSION,		0,0,1,1),
+	kwdef_sclass(	"extern",	EXTERN,			0,0,0,1),
 	kwdef_gcc_attr(	"fallthrough",	T_AT_FALLTHROUGH),
-	kwdef_type(	"float",	FLOAT,			0,0,0,0,1),
+	kwdef_type(	"float",	FLOAT,			0,0,0,1),
 	kwdef_keyword(	"for",		T_FOR),
 	kwdef_gcc_attr(	"format",	T_AT_FORMAT),
 	kwdef_gcc_attr(	"format_arg",	T_AT_FORMAT_ARG),
-	kwdef_token(	"_Generic",	T_GENERIC,		0,1,0,0,1),
+	kwdef_token(	"_Generic",	T_GENERIC,		0,1,0,1),
 	kwdef_gcc_attr(	"gnu_inline",	T_AT_GNU_INLINE),
 	kwdef_gcc_attr(	"gnu_printf",	T_AT_FORMAT_GNU_PRINTF),
 	kwdef_keyword(	"goto",		T_GOTO),
 	kwdef_gcc_attr(	"hot",		T_AT_HOT),
 	kwdef_keyword(	"if",		T_IF),
-	kwdef_token(	"__imag__",	T_IMAG,			0,0,1,0,1),
-	kwdef_sclass(	"inline",	INLINE,			0,1,0,0,7),
-	kwdef_type(	"int",		INT,			0,0,0,0,1),
+	kwdef_token(	"__imag__",	T_IMAG,			0,0,1,1),
+	kwdef_sclass(	"inline",	INLINE,			0,1,0,7),
+	kwdef_type(	"int",		INT,			0,0,0,1),
 #ifdef INT128_SIZE
-	kwdef_type(	"__int128_t",	INT128,			0,1,0,0,1),
+	kwdef_type(	"__int128_t",	INT128,			0,1,0,1),
 #endif
-	kwdef_type(	"long",		LONG,			0,0,0,0,1),
+	kwdef_type(	"long",		LONG,			0,0,0,1),
 	kwdef_gcc_attr(	"malloc",	T_AT_MALLOC),
 	kwdef_gcc_attr(	"may_alias",	T_AT_MAY_ALIAS),
 	kwdef_gcc_attr(	"minbytes",	T_AT_MINBYTES),
@@ -165,55 +165,55 @@ static const struct keyword {
 	kwdef_gcc_attr(	"noinline",	T_AT_NOINLINE),
 	kwdef_gcc_attr(	"nonnull",	T_AT_NONNULL),
 	kwdef_gcc_attr(	"nonstring",	T_AT_NONSTRING),
-	kwdef_token(	"_Noreturn",	T_NORETURN,		0,1,0,0,1),
+	kwdef_token(	"_Noreturn",	T_NORETURN,		0,1,0,1),
 	kwdef_gcc_attr(	"noreturn",	T_AT_NORETURN),
 	kwdef_gcc_attr(	"nothrow",	T_AT_NOTHROW),
 	kwdef_gcc_attr(	"optimize",	T_AT_OPTIMIZE),
 	kwdef_gcc_attr(	"optnone",	T_AT_OPTNONE),
 	kwdef_gcc_attr(	"packed",	T_AT_PACKED),
-	kwdef_token(	"__packed",	T_PACKED,		0,0,0,0,1),
+	kwdef_token(	"__packed",	T_PACKED,		0,0,0,1),
 	kwdef_gcc_attr(	"pcs",		T_AT_PCS),
 	kwdef_gcc_attr(	"printf",	T_AT_FORMAT_PRINTF),
 	kwdef_gcc_attr(	"pure",		T_AT_PURE),
-	kwdef_token(	"__real__",	T_REAL,			0,0,1,0,1),
-	kwdef_sclass(	"register",	REG,			0,0,0,0,1),
+	kwdef_token(	"__real__",	T_REAL,			0,0,1,1),
+	kwdef_sclass(	"register",	REG,			0,0,0,1),
 	kwdef_gcc_attr(	"regparm",	T_AT_REGPARM),
-	kwdef_tqual(	"restrict",	RESTRICT,		0,1,0,0,7),
+	kwdef_tqual(	"restrict",	RESTRICT,		0,1,0,7),
 	kwdef_keyword(	"return",	T_RETURN),
 	kwdef_gcc_attr(	"returns_nonnull",T_AT_RETURNS_NONNULL),
 	kwdef_gcc_attr(	"returns_twice",T_AT_RETURNS_TWICE),
 	kwdef_gcc_attr(	"scanf",	T_AT_FORMAT_SCANF),
-	kwdef_token(	"section",	T_AT_SECTION,		0,0,1,1,7),
+	kwdef(		"section",	T_AT_SECTION,		0,0,0,0,0,1,1,7),
 	kwdef_gcc_attr(	"sentinel",	T_AT_SENTINEL),
-	kwdef_type(	"short",	SHORT,			0,0,0,0,1),
-	kwdef_type(	"signed",	SIGNED,			1,0,0,0,3),
+	kwdef_type(	"short",	SHORT,			0,0,0,1),
+	kwdef_type(	"signed",	SIGNED,			1,0,0,3),
 	kwdef_keyword(	"sizeof",	T_SIZEOF),
-	kwdef_sclass(	"static",	STATIC,			0,0,0,0,1),
+	kwdef_sclass(	"static",	STATIC,			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),
 	kwdef("struct",	T_STRUCT_OR_UNION, 0,	STRUCT,	0,	0,0,0,0,1),
 	kwdef_keyword(	"switch",	T_SWITCH),
-	kwdef_token(	"__symbolrename",	T_SYMBOLRENAME,	0,0,0,0,1),
+	kwdef_token(	"__symbolrename",	T_SYMBOLRENAME,	0,0,0,1),
 	kwdef_gcc_attr(	"syslog",	T_AT_FORMAT_SYSLOG),
 	kwdef_gcc_attr(	"target",	T_AT_TARGET),
-	kwdef_tqual(	"__thread",	THREAD,			0,0,1,0,1),
-	kwdef_tqual(	"_Thread_local", THREAD,		0,1,0,0,1),
+	kwdef_tqual(	"__thread",	THREAD,			0,0,1,1),
+	kwdef_tqual(	"_Thread_local", THREAD,		0,1,0,1),
 	kwdef_gcc_attr(	"tls_model",	T_AT_TLS_MODEL),
 	kwdef_gcc_attr(	"transparent_union", T_AT_TUNION),
-	kwdef_sclass(	"typedef",	TYPEDEF,		0,0,0,0,1),
-	kwdef_token(	"typeof",	T_TYPEOF,		0,0,1,0,7),
+	kwdef_sclass(	"typedef",	TYPEDEF,		0,0,0,1),
+	kwdef_token(	"typeof",	T_TYPEOF,		0,0,1,7),
 #ifdef INT128_SIZE
-	kwdef_type(	"__uint128_t",	UINT128,		0,1,0,0,1),
+	kwdef_type(	"__uint128_t",	UINT128,		0,1,0,1),
 #endif
 	kwdef("union",	T_STRUCT_OR_UNION, 0,	UNION,	0,	0,0,0,0,1),
-	kwdef_type(	"unsigned",	UNSIGN,			0,0,0,0,1),
+	kwdef_type(	"unsigned",	UNSIGN,			0,0,0,1),
 	kwdef_gcc_attr(	"unused",	T_AT_UNUSED),
 	kwdef_gcc_attr(	"used",		T_AT_USED),
 	kwdef_gcc_attr(	"visibility",	T_AT_VISIBILITY),
-	kwdef_type(	"void",		VOID,			0,0,0,0,1),
-	kwdef_tqual(	"volatile",	VOLATILE,		1,0,0,0,7),
+	kwdef_type(	"void",		VOID,			0,0,0,1),
+	kwdef_tqual(	"volatile",	VOLATILE,		1,0,0,7),
 	kwdef_gcc_attr(	"warn_unused_result", T_AT_WARN_UNUSED_RESULT),
 	kwdef_gcc_attr(	"weak",		T_AT_WEAK),
 	kwdef_keyword(	"while",	T_WHILE),

Reply via email to