Module Name: src
Committed By: rillig
Date: Tue Jan 23 19:44:29 UTC 2024
Modified Files:
src/distrib/sets/lists/tests: mi
src/tests/usr.bin/xlint/lint1: decl.c
src/usr.bin/xlint: Makefile.inc
src/usr.bin/xlint/lint1: cgram.y debug.c decl.c externs1.h lex.c
lint1.h tree.c
Log Message:
lint: rename symt_t to symbol_kind
It was confusing to have two kinds of "symbol type" (s_type and s_symt),
so rename all related identifiers to be more distinctive.
No functional change.
To generate a diff of this commit:
cvs rdiff -u -r1.1297 -r1.1298 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.26 -r1.27 src/tests/usr.bin/xlint/lint1/decl.c
cvs rdiff -u -r1.27 -r1.28 src/usr.bin/xlint/Makefile.inc
cvs rdiff -u -r1.483 -r1.484 src/usr.bin/xlint/lint1/cgram.y
cvs rdiff -u -r1.65 -r1.66 src/usr.bin/xlint/lint1/debug.c
cvs rdiff -u -r1.388 -r1.389 src/usr.bin/xlint/lint1/decl.c
cvs rdiff -u -r1.211 -r1.212 src/usr.bin/xlint/lint1/externs1.h
cvs rdiff -u -r1.199 -r1.200 src/usr.bin/xlint/lint1/lex.c
cvs rdiff -u -r1.208 -r1.209 src/usr.bin/xlint/lint1/lint1.h
cvs rdiff -u -r1.596 -r1.597 src/usr.bin/xlint/lint1/tree.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/sets/lists/tests/mi
diff -u src/distrib/sets/lists/tests/mi:1.1297 src/distrib/sets/lists/tests/mi:1.1298
--- src/distrib/sets/lists/tests/mi:1.1297 Fri Nov 24 16:21:17 2023
+++ src/distrib/sets/lists/tests/mi Tue Jan 23 19:44:28 2024
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1297 2023/11/24 16:21:17 riastradh Exp $
+# $NetBSD: mi,v 1.1298 2024/01/23 19:44:28 rillig Exp $
#
# Note: don't delete entries from here - mark them as "obsolete" instead.
#
@@ -1330,8 +1330,8 @@
./usr/tests/compat/Atffile tests-compat-tests compattestfile,atf
./usr/tests/compat/linux tests-compat-tests compattestfile,atf
./usr/tests/compat/linux/Atffile tests-compat-tests compattestfile,atf
-./usr/tests/compat/linux/h_inotify_init tests-compat-tests compattestfile,atf
./usr/tests/compat/linux/h_inotify_directory tests-compat-tests compattestfile,atf
+./usr/tests/compat/linux/h_inotify_init tests-compat-tests compattestfile,atf
./usr/tests/compat/linux/h_inotify_single_file tests-compat-tests compattestfile,atf
./usr/tests/compat/linux/h_inotify_watch_change tests-compat-tests compattestfile,atf
./usr/tests/compat/linux/t_inotify tests-compat-tests compattestfile,atf
@@ -7464,6 +7464,7 @@
./usr/tests/usr.bin/xlint/lint1/msg_353.c tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/xlint/lint1/msg_354.c tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/xlint/lint1/msg_355.c tests-usr.bin-tests compattestfile,atf
+./usr/tests/usr.bin/xlint/lint1/msg_356.c tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/xlint/lint1/op_colon.c tests-usr.bin-tests compattestfile,atf
./usr/tests/usr.bin/xlint/lint1/op_colon.exp tests-obsolete obsolete,atf
./usr/tests/usr.bin/xlint/lint1/op_shl_lp64.c tests-usr.bin-tests compattestfile,atf
Index: src/tests/usr.bin/xlint/lint1/decl.c
diff -u src/tests/usr.bin/xlint/lint1/decl.c:1.26 src/tests/usr.bin/xlint/lint1/decl.c:1.27
--- src/tests/usr.bin/xlint/lint1/decl.c:1.26 Tue Aug 1 19:52:15 2023
+++ src/tests/usr.bin/xlint/lint1/decl.c Tue Jan 23 19:44:28 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.26 2023/08/01 19:52:15 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.27 2024/01/23 19:44:28 rillig Exp $ */
# 3 "decl.c"
/*
@@ -224,7 +224,7 @@ symbol_type_in_unnamed_bit_field_member(
struct s {
// Since there is no name in the declarator, the next symbol
// after the ':' must not be interpreted as a member name, but
- // instead as a variable, type or function (FVFT).
+ // instead as a variable, type or function (SK_VCFT).
unsigned int :bits;
int named_member;
};
Index: src/usr.bin/xlint/Makefile.inc
diff -u src/usr.bin/xlint/Makefile.inc:1.27 src/usr.bin/xlint/Makefile.inc:1.28
--- src/usr.bin/xlint/Makefile.inc:1.27 Sun Jan 21 14:59:18 2024
+++ src/usr.bin/xlint/Makefile.inc Tue Jan 23 19:44:28 2024
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.inc,v 1.27 2024/01/21 14:59:18 rillig Exp $
+# $NetBSD: Makefile.inc,v 1.28 2024/01/23 19:44:28 rillig Exp $
.include <bsd.own.mk>
Index: src/usr.bin/xlint/lint1/cgram.y
diff -u src/usr.bin/xlint/lint1/cgram.y:1.483 src/usr.bin/xlint/lint1/cgram.y:1.484
--- src/usr.bin/xlint/lint1/cgram.y:1.483 Sat Jan 13 11:24:57 2024
+++ src/usr.bin/xlint/lint1/cgram.y Tue Jan 23 19:44:28 2024
@@ -1,5 +1,5 @@
%{
-/* $NetBSD: cgram.y,v 1.483 2024/01/13 11:24:57 rillig Exp $ */
+/* $NetBSD: cgram.y,v 1.484 2024/01/23 19:44:28 rillig Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved.
@@ -35,7 +35,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID)
-__RCSID("$NetBSD: cgram.y,v 1.483 2024/01/13 11:24:57 rillig Exp $");
+__RCSID("$NetBSD: cgram.y,v 1.484 2024/01/23 19:44:28 rillig Exp $");
#endif
#include <limits.h>
@@ -494,7 +494,7 @@ primary_expression:
| generic_selection
/* GCC primary-expression, see c_parser_postfix_expression */
| T_BUILTIN_OFFSETOF T_LPAREN type_name T_COMMA {
- set_symtyp(FMEMBER);
+ set_sym_kind(SK_MEMBER);
} member_designator T_RPAREN {
$$ = build_offsetof($3, $6);
}
@@ -511,7 +511,7 @@ member_designator:
designation_push(&$$, DK_SUBSCRIPT, NULL, $3.lo);
}
| member_designator T_POINT {
- set_symtyp(FMEMBER);
+ set_sym_kind(SK_MEMBER);
} identifier {
$$ = $1;
designation_push(&$$, DK_MEMBER, getsym($4), 0);
@@ -631,11 +631,11 @@ gcc_statement_expr_item:
point_or_arrow: /* helper for 'postfix_expression' */
T_POINT {
- set_symtyp(FMEMBER);
+ set_sym_kind(SK_MEMBER);
$$ = POINT;
}
| T_ARROW {
- set_symtyp(FMEMBER);
+ set_sym_kind(SK_MEMBER);
$$ = ARROW;
}
;
@@ -1010,7 +1010,7 @@ struct_or_union_specifier:
$$ = complete_struct_or_union($3);
}
| struct_or_union error {
- set_symtyp(FVFT);
+ set_sym_kind(SK_VCFT);
$$ = gettyp(INT);
}
;
@@ -1018,7 +1018,7 @@ struct_or_union_specifier:
/* K&R ---, C90 ---, C99 6.7.2.1, C11 ???, C23 6.7.2.1 */
struct_or_union:
T_STRUCT_OR_UNION {
- set_symtyp(FTAG);
+ set_sym_kind(SK_TAG);
begin_declaration_level($1 == STRUCT ? DLK_STRUCT : DLK_UNION);
dcs->d_sou_size_in_bits = 0;
dcs->d_sou_align_in_bits = CHAR_SIZE;
@@ -1029,7 +1029,7 @@ struct_or_union:
braced_member_declaration_list: /* see C99 6.7.2.1 */
T_LBRACE {
- set_symtyp(FVFT);
+ set_sym_kind(SK_VCFT);
} member_declaration_list_with_rbrace {
$$ = $3;
}
@@ -1058,15 +1058,15 @@ member_declaration:
begin_type_qualifier_list end_type {
/* ^^ There is no check for the missing type-specifier. */
/* too late, i know, but getsym() compensates it */
- set_symtyp(FMEMBER);
+ set_sym_kind(SK_MEMBER);
} notype_member_declarators T_SEMI {
- set_symtyp(FVFT);
+ set_sym_kind(SK_VCFT);
$$ = $4;
}
| begin_type_specifier_qualifier_list end_type {
- set_symtyp(FMEMBER);
+ set_sym_kind(SK_MEMBER);
} type_member_declarators T_SEMI {
- set_symtyp(FVFT);
+ set_sym_kind(SK_VCFT);
$$ = $4;
}
| begin_type_qualifier_list end_type type_attribute_opt T_SEMI {
@@ -1076,7 +1076,7 @@ member_declaration:
}
| begin_type_specifier_qualifier_list end_type type_attribute_opt
T_SEMI {
- set_symtyp(FVFT);
+ set_sym_kind(SK_VCFT);
if (!allow_c11 && !allow_gcc)
/* anonymous struct/union members is a C11 feature */
warning(49);
@@ -1092,7 +1092,7 @@ member_declaration:
$$ = NULL;
}
| error T_SEMI {
- set_symtyp(FVFT);
+ set_sym_kind(SK_VCFT);
$$ = NULL;
}
;
@@ -1103,7 +1103,7 @@ notype_member_declarators:
$$ = declare_member($1);
}
| notype_member_declarators {
- set_symtyp(FMEMBER);
+ set_sym_kind(SK_MEMBER);
} T_COMMA type_member_declarator {
$$ = concat_symbols($1, declare_member($4));
}
@@ -1115,7 +1115,7 @@ type_member_declarators:
$$ = declare_member($1);
}
| type_member_declarators {
- set_symtyp(FMEMBER);
+ set_sym_kind(SK_MEMBER);
} T_COMMA type_member_declarator {
$$ = concat_symbols($1, declare_member($4));
}
@@ -1130,7 +1130,7 @@ notype_member_declarator:
}
/* C99 6.7.2.1 */
| {
- set_symtyp(FVFT);
+ set_sym_kind(SK_VCFT);
} T_COLON constant_expression {
$$ = set_bit_field_width(NULL, to_int_constant($3, true));
}
@@ -1143,7 +1143,7 @@ type_member_declarator:
$$ = set_bit_field_width($1, to_int_constant($3, true));
}
| {
- set_symtyp(FVFT);
+ set_sym_kind(SK_VCFT);
} T_COLON constant_expression type_attribute_list_opt {
$$ = set_bit_field_width(NULL, to_int_constant($3, true));
}
@@ -1165,21 +1165,21 @@ enum_specifier:
$$ = complete_enum($4);
}
| enum error {
- set_symtyp(FVFT);
+ set_sym_kind(SK_VCFT);
$$ = gettyp(INT);
}
;
enum: /* helper for C99 6.7.2.2 */
T_ENUM {
- set_symtyp(FTAG);
+ set_sym_kind(SK_TAG);
begin_declaration_level(DLK_ENUM);
}
;
enum_declaration: /* helper for C99 6.7.2.2 */
T_LBRACE {
- set_symtyp(FVFT);
+ set_sym_kind(SK_VCFT);
enumval = 0;
} enums_with_opt_comma T_RBRACE {
$$ = $3;
@@ -1771,7 +1771,7 @@ labeled_statement: /* C99 6.8.1 */
label:
T_NAME T_COLON {
- set_symtyp(FLABEL);
+ set_sym_kind(SK_LABEL);
named_label(getsym($1));
}
| T_CASE constant_expression T_COLON {
@@ -1977,7 +1977,7 @@ jump_statement: /* C99 6.8.6 */
stmt_goto(getsym($2));
}
| goto error T_SEMI {
- set_symtyp(FVFT);
+ set_sym_kind(SK_VCFT);
}
| T_CONTINUE T_SEMI {
stmt_continue();
@@ -1995,7 +1995,7 @@ jump_statement: /* C99 6.8.6 */
goto: /* see C99 6.8.6 */
T_GOTO {
- set_symtyp(FLABEL);
+ set_sym_kind(SK_LABEL);
}
;
Index: src/usr.bin/xlint/lint1/debug.c
diff -u src/usr.bin/xlint/lint1/debug.c:1.65 src/usr.bin/xlint/lint1/debug.c:1.66
--- src/usr.bin/xlint/lint1/debug.c:1.65 Sun Dec 3 12:03:38 2023
+++ src/usr.bin/xlint/lint1/debug.c Tue Jan 23 19:44:28 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: debug.c,v 1.65 2023/12/03 12:03:38 rillig Exp $ */
+/* $NetBSD: debug.c,v 1.66 2024/01/23 19:44:28 rillig Exp $ */
/*-
* Copyright (c) 2021 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID)
-__RCSID("$NetBSD: debug.c,v 1.65 2023/12/03 12:03:38 rillig Exp $");
+__RCSID("$NetBSD: debug.c,v 1.66 2024/01/23 19:44:28 rillig Exp $");
#endif
#include <stdlib.h>
@@ -320,7 +320,7 @@ scl_name(scl_t scl)
}
const char *
-symt_name(symt_t kind)
+symbol_kind_name(symbol_kind kind)
{
static const char *const name[] = {
"var-func-type",
@@ -373,7 +373,7 @@ debug_sym(const char *prefix, const sym_
debug_printf(" type='%s'", type_name(sym->s_type));
if (sym->s_rename != NULL)
debug_printf(" rename=%s", sym->s_rename);
- debug_printf(" %s", symt_name(sym->s_kind));
+ debug_printf(" %s", symbol_kind_name(sym->s_kind));
debug_word(sym->s_keyword != NULL, "keyword");
debug_word(sym->s_bitfield, "bit-field");
debug_word(sym->s_set, "set");
Index: src/usr.bin/xlint/lint1/decl.c
diff -u src/usr.bin/xlint/lint1/decl.c:1.388 src/usr.bin/xlint/lint1/decl.c:1.389
--- src/usr.bin/xlint/lint1/decl.c:1.388 Sun Jan 21 14:21:34 2024
+++ src/usr.bin/xlint/lint1/decl.c Tue Jan 23 19:44:28 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.388 2024/01/21 14:21:34 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.389 2024/01/23 19:44:28 rillig Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved.
@@ -38,7 +38,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID)
-__RCSID("$NetBSD: decl.c,v 1.388 2024/01/21 14:21:34 rillig Exp $");
+__RCSID("$NetBSD: decl.c,v 1.389 2024/01/23 19:44:28 rillig Exp $");
#endif
#include <sys/param.h>
@@ -932,7 +932,7 @@ check_type(sym_t *sym)
* implementation-defined type".
*/
static void
-check_bit_field_type(sym_t *dsym, type_t **inout_tp, tspec_t *inout_t)
+check_bit_field_type(sym_t *dsym, type_t **const inout_tp, tspec_t *inout_t)
{
type_t *tp = *inout_tp;
tspec_t t = *inout_t;
@@ -976,7 +976,7 @@ check_bit_field_type(sym_t *dsym, type_t
}
static void
-check_bit_field(sym_t *dsym, tspec_t *inout_t, type_t **inout_tp)
+check_bit_field(sym_t *dsym, tspec_t *inout_t, type_t **const inout_tp)
{
check_bit_field_type(dsym, inout_tp, inout_t);
@@ -1054,7 +1054,7 @@ declare_unnamed_member(void)
sym_t *mem = block_zero_alloc(sizeof(*mem), "sym");
mem->s_name = unnamed;
- mem->s_kind = FMEMBER;
+ mem->s_kind = SK_MEMBER;
mem->s_scl = dcs->d_kind == DLK_STRUCT ? STRUCT_MEMBER : UNION_MEMBER;
mem->s_block_level = -1;
mem->s_type = dcs->d_type;
@@ -1123,7 +1123,7 @@ set_bit_field_width(sym_t *dsym, int bit
if (dsym == NULL) {
dsym = block_zero_alloc(sizeof(*dsym), "sym");
dsym->s_name = unnamed;
- dsym->s_kind = FMEMBER;
+ dsym->s_kind = SK_MEMBER;
dsym->s_scl = STRUCT_MEMBER;
dsym->s_type = gettyp(UINT);
dsym->s_block_level = -1;
@@ -1640,7 +1640,7 @@ make_tag_type(sym_t *tag, tspec_t kind,
tag = block_zero_alloc(sizeof(*tag), "sym");
tag->s_name = unnamed;
tag->s_def_pos = unique_curr_pos();
- tag->s_kind = FTAG;
+ tag->s_kind = SK_TAG;
tag->s_scl = scl;
tag->s_block_level = -1;
tag->s_type = tp = block_zero_alloc(sizeof(*tp), "type");
@@ -2612,7 +2612,7 @@ declare_external_in_block(sym_t *dsym)
sym_t *esym = dcs->d_redeclared_symbol;
while (esym != NULL && esym->s_block_level != 0) {
while ((esym = esym->s_symtab_next) != NULL) {
- if (esym->s_kind != FVFT)
+ if (esym->s_kind != SK_VCFT)
continue;
if (strcmp(dsym->s_name, esym->s_name) == 0)
break;
@@ -2858,7 +2858,7 @@ mark_as_used(sym_t *sym, bool fcall, boo
* Probably not, because there is no point in declaring an external
* variable only to get its size.
*/
- if (!fcall && !szof && sym->s_kind == FVFT && sym->s_scl == EXTERN)
+ if (!fcall && !szof && sym->s_kind == SK_VCFT && sym->s_scl == EXTERN)
outusg(sym);
}
@@ -3015,13 +3015,13 @@ check_usage_sym(bool novar, const sym_t
if (sym->s_block_level == -1)
return;
- if (sym->s_kind == FVFT && sym->s_param)
+ if (sym->s_kind == SK_VCFT && sym->s_param)
check_parameter_usage(novar, sym);
- else if (sym->s_kind == FVFT)
+ else if (sym->s_kind == SK_VCFT)
check_variable_usage(novar, sym);
- else if (sym->s_kind == FLABEL)
+ else if (sym->s_kind == SK_LABEL)
check_label_usage(sym);
- else if (sym->s_kind == FTAG)
+ else if (sym->s_kind == SK_TAG)
check_tag_usage(sym);
}
@@ -3127,12 +3127,12 @@ end_translation_unit(void)
sym != NULL; sym = sym->s_level_next) {
if (sym->s_block_level == -1)
continue;
- if (sym->s_kind == FVFT)
+ if (sym->s_kind == SK_VCFT)
check_global_variable(sym);
- else if (sym->s_kind == FTAG)
+ else if (sym->s_kind == SK_TAG)
check_tag_usage(sym);
else
- lint_assert(sym->s_kind == FMEMBER);
+ lint_assert(sym->s_kind == SK_MEMBER);
}
}
Index: src/usr.bin/xlint/lint1/externs1.h
diff -u src/usr.bin/xlint/lint1/externs1.h:1.211 src/usr.bin/xlint/lint1/externs1.h:1.212
--- src/usr.bin/xlint/lint1/externs1.h:1.211 Thu Jan 11 23:06:19 2024
+++ src/usr.bin/xlint/lint1/externs1.h Tue Jan 23 19:44:28 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: externs1.h,v 1.211 2024/01/11 23:06:19 rillig Exp $ */
+/* $NetBSD: externs1.h,v 1.212 2024/01/23 19:44:28 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -80,7 +80,7 @@ extern bool in_gcc_attribute;
extern pos_t curr_pos;
extern pos_t csrc_pos;
extern bool in_system_header;
-extern symt_t symtyp;
+extern symbol_kind sym_kind;
extern FILE *yyin;
void initscan(void);
@@ -133,7 +133,7 @@ void expr_restore_memory(memory_pool);
#ifdef DEBUG
const char *decl_level_kind_name(decl_level_kind);
const char *scl_name(scl_t);
-const char *symt_name(symt_t);
+const char *symbol_kind_name(symbol_kind);
const char *type_qualifiers_string(type_qualifiers);
const char *function_specifier_name(function_specifier);
void debug_dcs(void);
Index: src/usr.bin/xlint/lint1/lex.c
diff -u src/usr.bin/xlint/lint1/lex.c:1.199 src/usr.bin/xlint/lint1/lex.c:1.200
--- src/usr.bin/xlint/lint1/lex.c:1.199 Fri Jan 19 19:23:34 2024
+++ src/usr.bin/xlint/lint1/lex.c Tue Jan 23 19:44:28 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: lex.c,v 1.199 2024/01/19 19:23:34 rillig Exp $ */
+/* $NetBSD: lex.c,v 1.200 2024/01/23 19:44:28 rillig Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved.
@@ -38,7 +38,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID)
-__RCSID("$NetBSD: lex.c,v 1.199 2024/01/19 19:23:34 rillig Exp $");
+__RCSID("$NetBSD: lex.c,v 1.200 2024/01/23 19:44:28 rillig Exp $");
#endif
#include <ctype.h>
@@ -205,7 +205,7 @@ static sym_t *symtab[503];
* The kind of the next expected symbol, to distinguish the namespaces of
* members, labels, type tags and other identifiers.
*/
-symt_t symtyp;
+symbol_kind sym_kind;
static unsigned int
@@ -243,7 +243,7 @@ symtab_search(const char *name)
if (strcmp(sym->s_name, name) != 0)
continue;
if (sym->s_keyword != NULL ||
- sym->s_kind == symtyp ||
+ sym->s_kind == sym_kind ||
in_gcc_attribute)
return sym;
}
@@ -459,7 +459,7 @@ lex_keyword(sym_t *sym)
/*
* Look up the definition of a name in the symbol table. This symbol must
- * either be a keyword or a symbol of the type required by symtyp (label,
+ * either be a keyword or a symbol of the type required by sym_kind (label,
* member, tag, ...).
*/
extern int
@@ -1335,18 +1335,18 @@ getsym(sbuf_t *sb)
/*
* During member declaration it is possible that name() looked for
- * symbols of type FVFT, although it should have looked for symbols of
- * type FTAG. Same can happen for labels. Both cases are compensated
- * here.
+ * symbols of type SK_VCFT, although it should have looked for symbols
+ * of type SK_TAG. Same can happen for labels. Both cases are
+ * compensated here.
*/
- if (symtyp == FMEMBER || symtyp == FLABEL) {
- if (sym == NULL || sym->s_kind == FVFT)
+ if (sym_kind == SK_MEMBER || sym_kind == SK_LABEL) {
+ if (sym == NULL || sym->s_kind == SK_VCFT)
sym = symtab_search(sb->sb_name);
}
if (sym != NULL) {
- lint_assert(sym->s_kind == symtyp);
- set_symtyp(FVFT);
+ lint_assert(sym->s_kind == sym_kind);
+ set_sym_kind(SK_VCFT);
free(sb);
return sym;
}
@@ -1355,7 +1355,7 @@ getsym(sbuf_t *sb)
/* labels must always be allocated at level 1 (outermost block) */
decl_level *dl;
- if (symtyp == FLABEL) {
+ if (sym_kind == SK_LABEL) {
sym = level_zero_alloc(1, sizeof(*sym), "sym");
char *s = level_zero_alloc(1, sb->sb_len + 1, "string");
(void)memcpy(s, sb->sb_name, sb->sb_len + 1);
@@ -1374,10 +1374,10 @@ getsym(sbuf_t *sb)
}
sym->s_def_pos = unique_curr_pos();
- if ((sym->s_kind = symtyp) != FLABEL)
+ if ((sym->s_kind = sym_kind) != SK_LABEL)
sym->s_type = gettyp(INT);
- set_symtyp(FVFT);
+ set_sym_kind(SK_VCFT);
if (!in_gcc_attribute) {
debug_printf("%s: symtab_add ", __func__);
@@ -1414,7 +1414,7 @@ mktempsym(type_t *tp)
sym->s_type = tp;
sym->s_block_level = block_level;
sym->s_scl = scl;
- sym->s_kind = FVFT;
+ sym->s_kind = SK_VCFT;
sym->s_used = true;
sym->s_set = true;
@@ -1432,7 +1432,8 @@ rmsym(sym_t *sym)
{
debug_step("rmsym '%s' %s '%s'",
- sym->s_name, symt_name(sym->s_kind), type_name(sym->s_type));
+ sym->s_name, symbol_kind_name(sym->s_kind),
+ type_name(sym->s_type));
symtab_remove(sym);
/* avoid that the symbol will later be put back to the symbol table */
@@ -1454,9 +1455,8 @@ symtab_remove_level(sym_t *syms)
for (sym_t *sym = syms; sym != NULL; sym = sym->s_level_next) {
if (sym->s_block_level != -1) {
debug_step("%s '%s' %s '%s' %d", __func__,
- sym->s_name, symt_name(sym->s_kind),
- type_name(sym->s_type),
- sym->s_block_level);
+ sym->s_name, symbol_kind_name(sym->s_kind),
+ type_name(sym->s_type), sym->s_block_level);
symtab_remove(sym);
sym->s_symtab_ref = NULL;
}
@@ -1469,8 +1469,8 @@ inssym(int level, sym_t *sym)
{
debug_step("%s '%s' %s '%s' %d", __func__,
- sym->s_name, symt_name(sym->s_kind), type_name(sym->s_type),
- level);
+ sym->s_name, symbol_kind_name(sym->s_kind),
+ type_name(sym->s_type), level);
sym->s_block_level = level;
symtab_add(sym);
@@ -1502,7 +1502,8 @@ pushdown(const sym_t *sym)
sym_t *nsym;
debug_step("pushdown '%s' %s '%s'",
- sym->s_name, symt_name(sym->s_kind), type_name(sym->s_type));
+ sym->s_name, symbol_kind_name(sym->s_kind),
+ type_name(sym->s_type));
nsym = block_zero_alloc(sizeof(*nsym), "sym");
lint_assert(sym->s_block_level <= block_level);
nsym->s_name = sym->s_name;
Index: src/usr.bin/xlint/lint1/lint1.h
diff -u src/usr.bin/xlint/lint1/lint1.h:1.208 src/usr.bin/xlint/lint1/lint1.h:1.209
--- src/usr.bin/xlint/lint1/lint1.h:1.208 Thu Jan 11 23:26:39 2024
+++ src/usr.bin/xlint/lint1/lint1.h Tue Jan 23 19:44:28 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: lint1.h,v 1.208 2024/01/11 23:26:39 rillig Exp $ */
+/* $NetBSD: lint1.h,v 1.209 2024/01/23 19:44:28 rillig Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved.
@@ -192,15 +192,15 @@ struct lint1_type {
#define t_enum t_u._t_enum
#define t_params t_u._t_params
-/*
- * types of symbols
- */
+
+
+
typedef enum {
- FVFT, /* variables, functions, type names, enums */
- FMEMBER, /* members of structs or unions */
- FTAG, /* tags */
- FLABEL /* labels */
-} symt_t;
+ SK_VCFT, /* variable, constant, function, type */
+ SK_MEMBER, /* member of a struct or union */
+ SK_TAG,
+ SK_LABEL
+} symbol_kind;
/*
* storage classes and related things
@@ -242,7 +242,7 @@ typedef struct sym {
* order */
pos_t s_set_pos; /* position of first initialization */
pos_t s_use_pos; /* position of first use */
- symt_t s_kind; /* type of symbol */
+ symbol_kind s_kind;
const struct keyword *s_keyword;
bool s_bitfield:1;
bool s_set:1; /* variable set, label defined */
@@ -717,10 +717,10 @@ is_member(const sym_t *sym)
}
static inline void
-set_symtyp(symt_t symt)
+set_sym_kind(symbol_kind kind)
{
if (yflag)
debug_step("%s: %s -> %s", __func__,
- symt_name(symtyp), symt_name(symt));
- symtyp = symt;
+ symbol_kind_name(sym_kind), symbol_kind_name(kind));
+ sym_kind = kind;
}
Index: src/usr.bin/xlint/lint1/tree.c
diff -u src/usr.bin/xlint/lint1/tree.c:1.596 src/usr.bin/xlint/lint1/tree.c:1.597
--- src/usr.bin/xlint/lint1/tree.c:1.596 Sun Jan 21 14:21:34 2024
+++ src/usr.bin/xlint/lint1/tree.c Tue Jan 23 19:44:28 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: tree.c,v 1.596 2024/01/21 14:21:34 rillig Exp $ */
+/* $NetBSD: tree.c,v 1.597 2024/01/23 19:44:28 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID)
-__RCSID("$NetBSD: tree.c,v 1.596 2024/01/21 14:21:34 rillig Exp $");
+__RCSID("$NetBSD: tree.c,v 1.597 2024/01/23 19:44:28 rillig Exp $");
#endif
#include <float.h>
@@ -495,7 +495,7 @@ build_name(sym_t *sym, bool is_funcname)
fallback_symbol(sym);
}
- lint_assert(sym->s_kind == FVFT || sym->s_kind == FMEMBER);
+ lint_assert(sym->s_kind == SK_VCFT || sym->s_kind == SK_MEMBER);
tnode_t *n = expr_alloc_tnode();
n->tn_type = sym->s_type;
@@ -514,7 +514,7 @@ build_name(sym_t *sym, bool is_funcname)
} else {
n->tn_op = NAME;
n->tn_sym = sym;
- if (sym->s_kind == FVFT && sym->s_type->t_tspec != FUNC)
+ if (sym->s_kind == SK_VCFT && sym->s_type->t_tspec != FUNC)
n->tn_lvalue = true;
}
@@ -1869,7 +1869,7 @@ remove_unknown_member(tnode_t *tn, sym_t
/* type '%s' does not have member '%s' */
error(101, type_name(tn->tn_type), msym->s_name);
rmsym(msym);
- msym->s_kind = FMEMBER;
+ msym->s_kind = SK_MEMBER;
msym->s_scl = STRUCT_MEMBER;
struct_or_union *sou = expr_zero_alloc(sizeof(*sou),
@@ -2670,11 +2670,11 @@ check_unconst_function(const type_t *lst
static bool
check_assign_void_pointer_compat(op_t op, int arg,
- const type_t *ltp, tspec_t lt,
- const type_t *lstp, tspec_t lst,
- const tnode_t *rn,
- const type_t *rtp, tspec_t rt,
- const type_t *rstp, tspec_t rst)
+ const type_t *const ltp, tspec_t const lt,
+ const type_t *const lstp, tspec_t const lst,
+ const tnode_t *const rn,
+ const type_t *const rtp, tspec_t const rt,
+ const type_t *const rstp, tspec_t const rst)
{
if (!(lt == PTR && rt == PTR && (lst == VOID || rst == VOID ||
types_compatible(lstp, rstp,
@@ -2713,8 +2713,8 @@ check_assign_void_pointer_compat(op_t op
static bool
check_assign_pointer_integer(op_t op, int arg,
- const type_t *ltp, tspec_t lt,
- const type_t *rtp, tspec_t rt)
+ const type_t *const ltp, tspec_t const lt,
+ const type_t *const rtp, tspec_t const rt)
{
if (!((lt == PTR && is_integer(rt)) || (is_integer(lt) && rt == PTR)))