Module Name: src Committed By: rillig Date: Fri Feb 19 22:16:12 UTC 2021
Modified Files: src/usr.bin/xlint/common: tyname.c src/usr.bin/xlint/lint1: cgram.y decl.c emit1.c init.c lint1.h tree.c Log Message: lint: rename str_t and its members to be more expressive No functional change. To generate a diff of this commit: cvs rdiff -u -r1.26 -r1.27 src/usr.bin/xlint/common/tyname.c cvs rdiff -u -r1.160 -r1.161 src/usr.bin/xlint/lint1/cgram.y cvs rdiff -u -r1.133 -r1.134 src/usr.bin/xlint/lint1/decl.c cvs rdiff -u -r1.39 -r1.40 src/usr.bin/xlint/lint1/emit1.c cvs rdiff -u -r1.66 -r1.67 src/usr.bin/xlint/lint1/init.c cvs rdiff -u -r1.61 -r1.62 src/usr.bin/xlint/lint1/lint1.h cvs rdiff -u -r1.207 -r1.208 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/usr.bin/xlint/common/tyname.c diff -u src/usr.bin/xlint/common/tyname.c:1.26 src/usr.bin/xlint/common/tyname.c:1.27 --- src/usr.bin/xlint/common/tyname.c:1.26 Tue Jan 26 18:38:57 2021 +++ src/usr.bin/xlint/common/tyname.c Fri Feb 19 22:16:12 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: tyname.c,v 1.26 2021/01/26 18:38:57 rillig Exp $ */ +/* $NetBSD: tyname.c,v 1.27 2021/02/19 22:16:12 rillig Exp $ */ /*- * Copyright (c) 2005 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) && !defined(lint) -__RCSID("$NetBSD: tyname.c,v 1.26 2021/01/26 18:38:57 rillig Exp $"); +__RCSID("$NetBSD: tyname.c,v 1.27 2021/02/19 22:16:12 rillig Exp $"); #endif #include <limits.h> @@ -238,8 +238,8 @@ sametype(const type_t *t1, const type_t case STRUCT: case UNION: #ifdef t_str - return strcmp(t1->t_str->stag->s_name, - t2->t_str->stag->s_name) == 0; + return strcmp(t1->t_str->sou_tag->s_name, + t2->t_str->sou_tag->s_name) == 0; #else return true; #endif @@ -349,7 +349,7 @@ type_name(const type_t *tp) case UNION: buf_add(&buf, " "); #ifdef t_str - buf_add(&buf, tp->t_str->stag->s_name); + buf_add(&buf, tp->t_str->sou_tag->s_name); #else buf_add(&buf, tp->t_isuniqpos ? "*anonymous*" : tp->t_tag->h_name); Index: src/usr.bin/xlint/lint1/cgram.y diff -u src/usr.bin/xlint/lint1/cgram.y:1.160 src/usr.bin/xlint/lint1/cgram.y:1.161 --- src/usr.bin/xlint/lint1/cgram.y:1.160 Sun Jan 31 12:44:34 2021 +++ src/usr.bin/xlint/lint1/cgram.y Fri Feb 19 22:16:12 2021 @@ -1,5 +1,5 @@ %{ -/* $NetBSD: cgram.y,v 1.160 2021/01/31 12:44:34 rillig Exp $ */ +/* $NetBSD: cgram.y,v 1.161 2021/02/19 22:16:12 rillig 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.160 2021/01/31 12:44:34 rillig Exp $"); +__RCSID("$NetBSD: cgram.y,v 1.161 2021/02/19 22:16:12 rillig Exp $"); #endif #include <limits.h> @@ -802,7 +802,7 @@ member_declaration: /* anonymous struct/union members is a C9X feature */ warning(49); /* add all the members of the anonymous struct/union */ - $$ = dcs->d_type->t_str->memb; + $$ = dcs->d_type->t_str->sou_first_member; anonymize($$); } | noclass_declspecs deftyp opt_type_attribute { @@ -811,7 +811,7 @@ member_declaration: if (!Sflag) /* anonymous struct/union members is a C9X feature */ warning(49); - $$ = dcs->d_type->t_str->memb; + $$ = dcs->d_type->t_str->sou_first_member; /* add all the members of the anonymous struct/union */ anonymize($$); } Index: src/usr.bin/xlint/lint1/decl.c diff -u src/usr.bin/xlint/lint1/decl.c:1.133 src/usr.bin/xlint/lint1/decl.c:1.134 --- src/usr.bin/xlint/lint1/decl.c:1.133 Sun Jan 31 11:23:01 2021 +++ src/usr.bin/xlint/lint1/decl.c Fri Feb 19 22:16:12 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: decl.c,v 1.133 2021/01/31 11:23:01 rillig Exp $ */ +/* $NetBSD: decl.c,v 1.134 2021/02/19 22:16:12 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: decl.c,v 1.133 2021/01/31 11:23:01 rillig Exp $"); +__RCSID("$NetBSD: decl.c,v 1.134 2021/02/19 22:16:12 rillig Exp $"); #endif #include <sys/param.h> @@ -181,7 +181,7 @@ is_incomplete(const type_t *tp) } else if (t == ARRAY) { return tp->t_aincompl; } else if (t == STRUCT || t == UNION) { - return tp->t_str->sincompl; + return tp->t_str->sou_incomplete; } else if (t == ENUM) { return tp->t_enum->eincompl; } @@ -199,7 +199,7 @@ setcomplete(type_t *tp, bool complete) if ((t = tp->t_tspec) == ARRAY) { tp->t_aincompl = !complete; } else if (t == STRUCT || t == UNION) { - tp->t_str->sincompl = !complete; + tp->t_str->sou_incomplete = !complete; } else { lint_assert(t == ENUM); tp->t_enum->eincompl = !complete; @@ -482,8 +482,8 @@ settdsym(type_t *tp, sym_t *sym) tspec_t t; if ((t = tp->t_tspec) == STRUCT || t == UNION) { - if (tp->t_str->stdef == NULL) - tp->t_str->stdef = sym; + if (tp->t_str->sou_first_typedef == NULL) + tp->t_str->sou_first_typedef = sym; } else if (t == ENUM) { if (tp->t_enum->etdef == NULL) tp->t_enum->etdef = sym; @@ -504,25 +504,26 @@ bitfieldsize(sym_t **mem) static void setpackedsize(type_t *tp) { - str_t *sp; + struct_or_union *sp; sym_t *mem; switch (tp->t_tspec) { case STRUCT: case UNION: sp = tp->t_str; - sp->size = 0; - for (mem = sp->memb; mem != NULL; mem = mem->s_next) { + sp->sou_size_in_bit = 0; + for (mem = sp->sou_first_member; + mem != NULL; mem = mem->s_next) { if (mem->s_type->t_bitfield) { - sp->size += bitfieldsize(&mem); + sp->sou_size_in_bit += bitfieldsize(&mem); if (mem == NULL) break; } size_t x = (size_t)tsize(mem->s_type); if (tp->t_tspec == STRUCT) - sp->size += x; - else if (x > sp->size) - sp->size = x; + sp->sou_size_in_bit += x; + else if (x > sp->sou_size_in_bit) + sp->sou_size_in_bit = x; } break; default: @@ -905,9 +906,9 @@ length(const type_t *tp, const char *nam case UNION: if (is_incomplete(tp) && name != NULL) { /* incomplete structure or union %s: %s */ - error(31, tp->t_str->stag->s_name, name); + error(31, tp->t_str->sou_tag->s_name, name); } - elsz = tp->t_str->size; + elsz = tp->t_str->sou_size_in_bit; break; case ENUM: if (is_incomplete(tp) && name != NULL) { @@ -940,7 +941,7 @@ getbound(const type_t *tp) return -1; if ((t = tp->t_tspec) == STRUCT || t == UNION) { - a = tp->t_str->align; + a = tp->t_str->sou_align_in_bit; } else if (t == FUNC) { /* compiler takes alignment of function */ error(14); @@ -1660,9 +1661,9 @@ mktag(sym_t *tag, tspec_t kind, bool dec if (tp->t_tspec == NOTSPEC) { tp->t_tspec = kind; if (kind != ENUM) { - tp->t_str = getblk(sizeof (str_t)); - tp->t_str->align = CHAR_SIZE; - tp->t_str->stag = tag; + tp->t_str = getblk(sizeof (struct_or_union)); + tp->t_str->sou_align_in_bit = CHAR_SIZE; + tp->t_str->sou_tag = tag; } else { tp->t_isenum = true; tp->t_enum = getblk(sizeof(*tp->t_enum)); @@ -1763,7 +1764,7 @@ type_t * complete_tag_struct_or_union(type_t *tp, sym_t *fmem) { tspec_t t; - str_t *sp; + struct_or_union *sp; int n; sym_t *mem; @@ -1772,14 +1773,14 @@ complete_tag_struct_or_union(type_t *tp, t = tp->t_tspec; align(dcs->d_stralign, 0); sp = tp->t_str; - sp->align = dcs->d_stralign; - sp->memb = fmem; + sp->sou_align_in_bit = dcs->d_stralign; + sp->sou_first_member = fmem; if (tp->t_packed) setpackedsize(tp); else - sp->size = dcs->d_offset; + sp->sou_size_in_bit = dcs->d_offset; - if (sp->size == 0) { + if (sp->sou_size_in_bit == 0) { /* zero sized %s is a C9X feature */ c99ism(47, ttab[t].tt_name); } @@ -1790,17 +1791,17 @@ complete_tag_struct_or_union(type_t *tp, if (mem->s_styp == NULL) { mem->s_styp = sp; if (mem->s_type->t_bitfield) { - sp->size += bitfieldsize(&mem); + sp->sou_size_in_bit += bitfieldsize(&mem); if (mem == NULL) break; } - sp->size += tsize(mem->s_type); + sp->sou_size_in_bit += tsize(mem->s_type); } if (mem->s_name != unnamed) n++; } - if (n == 0 && sp->size != 0) { + if (n == 0 && sp->sou_size_in_bit != 0) { /* %s has no named members */ warning(65, t == STRUCT ? "structure" : "union"); } Index: src/usr.bin/xlint/lint1/emit1.c diff -u src/usr.bin/xlint/lint1/emit1.c:1.39 src/usr.bin/xlint/lint1/emit1.c:1.40 --- src/usr.bin/xlint/lint1/emit1.c:1.39 Sun Jan 17 14:50:11 2021 +++ src/usr.bin/xlint/lint1/emit1.c Fri Feb 19 22:16:12 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: emit1.c,v 1.39 2021/01/17 14:50:11 rillig Exp $ */ +/* $NetBSD: emit1.c,v 1.40 2021/02/19 22:16:12 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: emit1.c,v 1.39 2021/01/17 14:50:11 rillig Exp $"); +__RCSID("$NetBSD: emit1.c,v 1.40 2021/02/19 22:16:12 rillig Exp $"); #endif #include <ctype.h> @@ -142,7 +142,7 @@ outtype(const type_t *tp) } else if (ts == ENUM) { outtt(tp->t_enum->etag, tp->t_enum->etdef); } else if (ts == STRUCT || ts == UNION) { - outtt(tp->t_str->stag, tp->t_str->stdef); + outtt(tp->t_str->sou_tag, tp->t_str->sou_first_typedef); } else if (ts == FUNC && tp->t_proto) { na = 0; for (arg = tp->t_args; arg != NULL; arg = arg->s_next) Index: src/usr.bin/xlint/lint1/init.c diff -u src/usr.bin/xlint/lint1/init.c:1.66 src/usr.bin/xlint/lint1/init.c:1.67 --- src/usr.bin/xlint/lint1/init.c:1.66 Sun Jan 31 12:44:34 2021 +++ src/usr.bin/xlint/lint1/init.c Fri Feb 19 22:16:12 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: init.c,v 1.66 2021/01/31 12:44:34 rillig Exp $ */ +/* $NetBSD: init.c,v 1.67 2021/02/19 22:16:12 rillig Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -37,7 +37,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) && !defined(lint) -__RCSID("$NetBSD: init.c,v 1.66 2021/01/31 12:44:34 rillig Exp $"); +__RCSID("$NetBSD: init.c,v 1.67 2021/02/19 22:16:12 rillig Exp $"); #endif #include <stdlib.h> @@ -236,7 +236,8 @@ initstack_pop_item(void) __func__, istk->i_remaining, type_name(istk->i_type), namedmem->n_name)); - for (m = istk->i_type->t_str->memb; m != NULL; m = m->s_next) { + for (m = istk->i_type->t_str->sou_first_member; + m != NULL; m = m->s_next) { DPRINTF(("%s: pop lhs.name=%s rhs.name=%s\n", __func__, m->s_name, namedmem->n_name)); if (m->s_bitfield && m->s_name == unnamed) @@ -380,7 +381,8 @@ again: DPRINTF(("%s: lookup type=%s, name=%s named=%d\n", __func__, type_name(istk->i_type), namedmem ? namedmem->n_name : "*none*", istk->i_namedmem)); - for (m = istk->i_type->t_str->memb; m != NULL; m = m->s_next) { + for (m = istk->i_type->t_str->sou_first_member; + m != NULL; m = m->s_next) { if (m->s_bitfield && m->s_name == unnamed) continue; if (namedmem != NULL) { Index: src/usr.bin/xlint/lint1/lint1.h diff -u src/usr.bin/xlint/lint1/lint1.h:1.61 src/usr.bin/xlint/lint1/lint1.h:1.62 --- src/usr.bin/xlint/lint1/lint1.h:1.61 Fri Feb 19 21:35:44 2021 +++ src/usr.bin/xlint/lint1/lint1.h Fri Feb 19 22:16:12 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: lint1.h,v 1.61 2021/02/19 21:35:44 rillig Exp $ */ +/* $NetBSD: lint1.h,v 1.62 2021/02/19 22:16:12 rillig Exp $ */ /* * Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved. @@ -116,7 +116,7 @@ typedef struct { #define v_ldbl v_u._v_ldbl /* - * Structures of type str_t uniquely identify structures. This can't + * Structures of type struct_or_union uniquely identify structures. This can't * be done in structures of type type_t, because these are copied * if they must be modified. So it would not be possible to check * if two structures are identical by comparing the pointers to @@ -126,13 +126,13 @@ typedef struct { * the structure type in pass 2. */ typedef struct { - u_int size; /* size in bit */ - u_int align : 15; /* alignment in bit */ - bool sincompl : 1; /* set if incomplete type */ - struct sym *memb; /* list of members */ - struct sym *stag; /* symbol table entry of tag */ - struct sym *stdef; /* symbol table entry of first typename */ -} str_t; + u_int sou_size_in_bit; + u_int sou_align_in_bit : 15; + bool sou_incomplete : 1; + struct sym *sou_first_member; + struct sym *sou_tag; + struct sym *sou_first_typedef; +} struct_or_union; /* * same as above for enums @@ -161,7 +161,7 @@ struct type { bool t_packed : 1; union { int _t_dim; /* dimension */ - str_t *_t_str; /* struct/union tag */ + struct_or_union *_t_str; /* struct/union tag */ tenum_t *_t_enum; /* enum tag */ struct sym *_t_args; /* arguments (if t_proto) */ } t_u; @@ -246,7 +246,7 @@ typedef struct sym { type_t *s_type; val_t s_value; /* value (if enum or bool constant) */ union { - str_t *_s_st; /* tag, if it is a struct/union member */ + struct_or_union *_s_st; tenum_t *_s_et; /* tag, if it is an enumerator */ tspec_t _s_tsp; /* type (only for keywords) */ tqual_t _s_tqu; /* qualifier (only for keywords) */ Index: src/usr.bin/xlint/lint1/tree.c diff -u src/usr.bin/xlint/lint1/tree.c:1.207 src/usr.bin/xlint/lint1/tree.c:1.208 --- src/usr.bin/xlint/lint1/tree.c:1.207 Mon Feb 15 07:40:18 2021 +++ src/usr.bin/xlint/lint1/tree.c Fri Feb 19 22:16:12 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: tree.c,v 1.207 2021/02/15 07:40:18 rillig Exp $ */ +/* $NetBSD: tree.c,v 1.208 2021/02/19 22:16:12 rillig Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -37,7 +37,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) && !defined(lint) -__RCSID("$NetBSD: tree.c,v 1.207 2021/02/15 07:40:18 rillig Exp $"); +__RCSID("$NetBSD: tree.c,v 1.208 2021/02/19 22:16:12 rillig Exp $"); #endif #include <float.h> @@ -335,7 +335,7 @@ new_string_node(strg_t *strg) sym_t * struct_or_union_member(tnode_t *tn, op_t op, sym_t *msym) { - str_t *str; + struct_or_union *str; type_t *tp; sym_t *sym, *csym; bool eq; @@ -351,9 +351,9 @@ struct_or_union_member(tnode_t *tn, op_t rmsym(msym); msym->s_kind = FMEMBER; msym->s_scl = MOS; - msym->s_styp = tgetblk(sizeof (str_t)); - msym->s_styp->stag = tgetblk(sizeof (sym_t)); - msym->s_styp->stag->s_name = unnamed; + msym->s_styp = tgetblk(sizeof (struct_or_union)); + msym->s_styp->sou_tag = tgetblk(sizeof (sym_t)); + msym->s_styp->sou_tag->s_name = unnamed; msym->s_value.v_tspec = INT; return msym; } @@ -2626,7 +2626,7 @@ has_constant_member(const type_t *tp) lint_assert((t = tp->t_tspec) == STRUCT || t == UNION); - for (m = tp->t_str->memb; m != NULL; m = m->s_next) { + for (m = tp->t_str->sou_first_member; m != NULL; m = m->s_next) { tp = m->s_type; if (tp->t_const) return true; @@ -2987,7 +2987,7 @@ plength(type_t *tp) break; case STRUCT: case UNION: - if ((elsz = tp->t_str->size) == 0) + if ((elsz = tp->t_str->sou_size_in_bit) == 0) /* cannot do pointer arithmetic on operand of ... */ error(136); break; @@ -3362,7 +3362,7 @@ tsize(type_t *tp) error(143); elsz = 1; } else { - elsz = tp->t_str->size; + elsz = tp->t_str->sou_size_in_bit; } break; case ENUM: @@ -3453,13 +3453,13 @@ cast(tnode_t *tn, type_t *tp) */ } else if (nt == UNION) { sym_t *m; - str_t *str = tp->t_str; + struct_or_union *str = tp->t_str; if (!Sflag) { /* union cast is a C9X feature */ error(328); return NULL; } - for (m = str->memb; m != NULL; m = m->s_next) { + for (m = str->sou_first_member; m != NULL; m = m->s_next) { if (sametype(m->s_type, tn->tn_type)) { tn = getnode(); tn->tn_op = CVT;