Module Name: src Committed By: rillig Date: Fri Jun 9 15:36:31 UTC 2023
Modified Files: src/usr.bin/xlint/common: param.h src/usr.bin/xlint/lint1: decl.c emit1.c err.c func.c lex.c lint1.h tree.c Log Message: lint: miscellaneous clean-ups No binary change, except for line numbers in assertions. To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/usr.bin/xlint/common/param.h cvs rdiff -u -r1.316 -r1.317 src/usr.bin/xlint/lint1/decl.c cvs rdiff -u -r1.67 -r1.68 src/usr.bin/xlint/lint1/emit1.c cvs rdiff -u -r1.198 -r1.199 src/usr.bin/xlint/lint1/err.c cvs rdiff -u -r1.155 -r1.156 src/usr.bin/xlint/lint1/func.c cvs rdiff -u -r1.159 -r1.160 src/usr.bin/xlint/lint1/lex.c cvs rdiff -u -r1.164 -r1.165 src/usr.bin/xlint/lint1/lint1.h cvs rdiff -u -r1.526 -r1.527 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/param.h diff -u src/usr.bin/xlint/common/param.h:1.10 src/usr.bin/xlint/common/param.h:1.11 --- src/usr.bin/xlint/common/param.h:1.10 Sat Jan 14 09:21:58 2023 +++ src/usr.bin/xlint/common/param.h Fri Jun 9 15:36:31 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: param.h,v 1.10 2023/01/14 09:21:58 rillig Exp $ */ +/* $NetBSD: param.h,v 1.11 2023/06/09 15:36:31 rillig Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -53,12 +53,3 @@ * Make sure this matches wchar_t. */ #define WCHAR INT - -/* - * The sparc64 long double code generation is broken in old gcc. - */ -#if !(defined(__sparc64__) && defined(__GNUC__) && __GNUC__ <= 2) -typedef long double ldbl_t; -#else -typedef double ldbl_t; -#endif Index: src/usr.bin/xlint/lint1/decl.c diff -u src/usr.bin/xlint/lint1/decl.c:1.316 src/usr.bin/xlint/lint1/decl.c:1.317 --- src/usr.bin/xlint/lint1/decl.c:1.316 Fri Jun 9 13:03:49 2023 +++ src/usr.bin/xlint/lint1/decl.c Fri Jun 9 15:36:31 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: decl.c,v 1.316 2023/06/09 13:03:49 rillig Exp $ */ +/* $NetBSD: decl.c,v 1.317 2023/06/09 15:36:31 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.316 2023/06/09 13:03:49 rillig Exp $"); +__RCSID("$NetBSD: decl.c,v 1.317 2023/06/09 15:36:31 rillig Exp $"); #endif #include <sys/param.h> @@ -1601,7 +1601,7 @@ declarator_name(sym_t *sym) case DK_AUTO: if ((sc = dcs->d_scl) == NOSCL) { /* - * XXX somewhat ugly because we dont know whether + * XXX somewhat ugly because we don't know whether * this is AUTO or EXTERN (functions). If we are * wrong it must be corrected in declare_local(), * where we have the necessary type information. @@ -1893,7 +1893,7 @@ enumeration_constant(sym_t *sym, int val /* redeclaration of '%s' */ error(27, sym->s_name); /* - * inside blocks it should not be too + * Inside blocks, it should not be too * complicated to find the position of the * previous declaration */ @@ -2845,7 +2845,7 @@ declare_external_in_block(sym_t *dsym) if (compatible) { /* - * Remember the external symbol so we can update usage + * Remember the external symbol, so we can update usage * information at the end of the block. */ dsym->s_ext_sym = esym; Index: src/usr.bin/xlint/lint1/emit1.c diff -u src/usr.bin/xlint/lint1/emit1.c:1.67 src/usr.bin/xlint/lint1/emit1.c:1.68 --- src/usr.bin/xlint/lint1/emit1.c:1.67 Fri Jun 9 13:03:49 2023 +++ src/usr.bin/xlint/lint1/emit1.c Fri Jun 9 15:36:31 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: emit1.c,v 1.67 2023/06/09 13:03:49 rillig Exp $ */ +/* $NetBSD: emit1.c,v 1.68 2023/06/09 15:36:31 rillig Exp $ */ /* * Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved. @@ -38,7 +38,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) -__RCSID("$NetBSD: emit1.c,v 1.67 2023/06/09 13:03:49 rillig Exp $"); +__RCSID("$NetBSD: emit1.c,v 1.68 2023/06/09 15:36:31 rillig Exp $"); #endif #include "lint1.h" @@ -193,12 +193,8 @@ outsym(const sym_t *sym, scl_t sc, def_t /* reset buffer */ outclr(); - /* - * line number of .c source, 'd' for declaration, Id of current - * source (.c or .h), and line in current source. - */ outint(csrc_pos.p_line); - outchar('d'); + outchar('d'); /* declaration */ outint(get_filename_id(sym->s_def_pos.p_file)); outchar('.'); outint(sym->s_def_pos.p_line); @@ -239,10 +235,8 @@ outsym(const sym_t *sym, scl_t sc, def_t } /* - * write information about function definition - * - * this is also done for static functions so we are able to check if - * they are called with proper argument types + * Write information about a function definition. This is also done for static + * functions, to later check if they are called with proper argument types. */ void outfdef(const sym_t *fsym, const pos_t *posp, bool rval, bool osdef, @@ -254,20 +248,12 @@ outfdef(const sym_t *fsym, const pos_t * /* reset the buffer */ outclr(); - /* - * line number of .c source, 'd' for declaration, Id of current - * source (.c or .h), and line in current source - * - * we are already at the end of the function. If we are in the - * .c source, posp->p_line is correct, otherwise csrc_pos.p_line - * (for functions defined in header files). - */ if (posp->p_file == csrc_pos.p_file) { outint(posp->p_line); } else { outint(csrc_pos.p_line); } - outchar('d'); + outchar('d'); /* declaration */ outint(get_filename_id(posp->p_file)); outchar('.'); outint(posp->p_line); @@ -359,12 +345,8 @@ outcall(const tnode_t *tn, bool retval_u /* reset buffer */ outclr(); - /* - * line number of .c source, 'c' for function call, Id of current - * source (.c or .h), and line in current source - */ outint(csrc_pos.p_line); - outchar('c'); + outchar('c'); /* function call */ outint(get_filename_id(curr_pos.p_file)); outchar('.'); outint(curr_pos.p_line); @@ -587,18 +569,14 @@ outfstrg(strg_t *strg) void outusg(const sym_t *sym) { - if (ch_isdigit(sym->s_name[0])) /* 00000000_tmp */ + if (ch_isdigit(sym->s_name[0])) /* 00000000_tmp, from mktempsym */ return; /* reset buffer */ outclr(); - /* - * line number of .c source, 'u' for used, Id of current - * source (.c or .h), and line in current source - */ outint(csrc_pos.p_line); - outchar('u'); + outchar('u'); /* used */ outint(get_filename_id(curr_pos.p_file)); outchar('.'); outint(curr_pos.p_line); Index: src/usr.bin/xlint/lint1/err.c diff -u src/usr.bin/xlint/lint1/err.c:1.198 src/usr.bin/xlint/lint1/err.c:1.199 --- src/usr.bin/xlint/lint1/err.c:1.198 Fri Jun 9 13:03:49 2023 +++ src/usr.bin/xlint/lint1/err.c Fri Jun 9 15:36:31 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: err.c,v 1.198 2023/06/09 13:03:49 rillig Exp $ */ +/* $NetBSD: err.c,v 1.199 2023/06/09 15:36:31 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.198 2023/06/09 13:03:49 rillig Exp $"); +__RCSID("$NetBSD: err.c,v 1.199 2023/06/09 15:36:31 rillig Exp $"); #endif #include <limits.h> @@ -435,7 +435,7 @@ suppress_messages(const char *p) if (*end == '\0') return; } - errx(1, "invalid message ID '%.*s'", (int)(strcspn(p, ",")), p); + errx(1, "invalid message ID '%.*s'", (int)strcspn(p, ","), p); } void @@ -746,5 +746,5 @@ enable_queries(const char *p) if (*end == '\0') return; } - errx(1, "invalid query ID '%.*s'", (int)(strcspn(p, ",")), p); + errx(1, "invalid query ID '%.*s'", (int)strcspn(p, ","), p); } Index: src/usr.bin/xlint/lint1/func.c diff -u src/usr.bin/xlint/lint1/func.c:1.155 src/usr.bin/xlint/lint1/func.c:1.156 --- src/usr.bin/xlint/lint1/func.c:1.155 Fri Jun 9 13:03:49 2023 +++ src/usr.bin/xlint/lint1/func.c Fri Jun 9 15:36:31 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: func.c,v 1.155 2023/06/09 13:03:49 rillig Exp $ */ +/* $NetBSD: func.c,v 1.156 2023/06/09 15:36:31 rillig Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -37,7 +37,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) -__RCSID("$NetBSD: func.c,v 1.155 2023/06/09 13:03:49 rillig Exp $"); +__RCSID("$NetBSD: func.c,v 1.156 2023/06/09 15:36:31 rillig Exp $"); #endif #include <stdlib.h> @@ -287,8 +287,7 @@ begin_function(sym_t *fsym) /* * We must also remember the position. s_def_pos is overwritten - * if this is an old-style definition and we had already a - * prototype. + * if this is an old-style definition, and we had already a prototype. */ dcs->d_func_def_pos = fsym->s_def_pos; @@ -380,7 +379,7 @@ end_function(void) /* * This warning is printed only if the return value was implicitly - * declared to be int. Otherwise the wrong return statement + * declared to be int. Otherwise, the wrong return statement * has already printed a warning. */ if (cstmt->c_had_return_noval && cstmt->c_had_return_value && @@ -1363,7 +1362,7 @@ bitfieldtype(int n) /* * PROTOLIB in conjunction with LINTLIBRARY can be used to handle * prototypes like function definitions. This is done if the argument - * to PROTOLIB is nonzero. Otherwise prototypes are handled normally. + * to PROTOLIB is nonzero. Otherwise, prototypes are handled normally. */ void protolib(int n) Index: src/usr.bin/xlint/lint1/lex.c diff -u src/usr.bin/xlint/lint1/lex.c:1.159 src/usr.bin/xlint/lint1/lex.c:1.160 --- src/usr.bin/xlint/lint1/lex.c:1.159 Fri Jun 9 13:03:49 2023 +++ src/usr.bin/xlint/lint1/lex.c Fri Jun 9 15:36:31 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: lex.c,v 1.159 2023/06/09 13:03:49 rillig Exp $ */ +/* $NetBSD: lex.c,v 1.160 2023/06/09 15:36:31 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.159 2023/06/09 13:03:49 rillig Exp $"); +__RCSID("$NetBSD: lex.c,v 1.160 2023/06/09 15:36:31 rillig Exp $"); #endif #include <ctype.h> @@ -1115,7 +1115,7 @@ lex_comment(void) } } arg[l] = '\0'; - a = l != 0 ? atoi(arg) : -1; + a = l != 0 ? (int)atoi(arg) : -1; /* skip whitespace after the argument */ while (isspace(c)) Index: src/usr.bin/xlint/lint1/lint1.h diff -u src/usr.bin/xlint/lint1/lint1.h:1.164 src/usr.bin/xlint/lint1/lint1.h:1.165 --- src/usr.bin/xlint/lint1/lint1.h:1.164 Sat Apr 22 17:49:15 2023 +++ src/usr.bin/xlint/lint1/lint1.h Fri Jun 9 15:36:31 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: lint1.h,v 1.164 2023/04/22 17:49:15 rillig Exp $ */ +/* $NetBSD: lint1.h,v 1.165 2023/06/09 15:36:31 rillig Exp $ */ /* * Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved. @@ -110,8 +110,8 @@ typedef struct { */ bool v_unsigned_since_c90; union { - int64_t _v_quad; /* integers */ - ldbl_t _v_ldbl; /* floats */ + int64_t _v_quad; /* integers */ + long double _v_ldbl; /* floats */ } v_u; } val_t; @@ -375,7 +375,7 @@ typedef struct dinfo { bool d_nonempty_decl:1; /* if at least one tag is declared * ... in the current function decl. */ bool d_vararg:1; - bool d_proto:1; /* current function decl. is prototype */ + bool d_proto:1; /* current function decl. is a prototype */ bool d_notyp:1; /* set if no type specifier was present */ bool d_asm:1; /* set if d_ctx == AUTO and asm() present */ bool d_packed:1; Index: src/usr.bin/xlint/lint1/tree.c diff -u src/usr.bin/xlint/lint1/tree.c:1.526 src/usr.bin/xlint/lint1/tree.c:1.527 --- src/usr.bin/xlint/lint1/tree.c:1.526 Fri Jun 9 13:03:49 2023 +++ src/usr.bin/xlint/lint1/tree.c Fri Jun 9 15:36:31 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: tree.c,v 1.526 2023/06/09 13:03:49 rillig Exp $ */ +/* $NetBSD: tree.c,v 1.527 2023/06/09 15:36:31 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.526 2023/06/09 13:03:49 rillig Exp $"); +__RCSID("$NetBSD: tree.c,v 1.527 2023/06/09 15:36:31 rillig Exp $"); #endif #include <float.h> @@ -802,7 +802,7 @@ fold(tnode_t *tn) if (is_binary(tn)) ur = sr = tn->tn_right->tn_val->v_quad; - mask = value_bits(size_in_bits(t)); + mask = (int64_t)value_bits(size_in_bits(t)); ovfl = false; switch (tn->tn_op) { @@ -819,7 +819,7 @@ fold(tnode_t *tn) break; case MULT: if (utyp) { - q = ul * ur; + q = (int64_t)(ul * ur); if (q != (q & mask)) ovfl = true; else if ((ul != 0) && ((q / ul) != ur)) @@ -873,7 +873,7 @@ fold(tnode_t *tn) * shifts of signed values are implementation dependent. */ /* TODO: warn about out-of-bounds 'sr'. */ - q = ul >> (sr & 63); + q = (int64_t)(ul >> (sr & 63)); q = convert_integer(q, t, size_in_bits(t) - (int)sr); break; case LT: @@ -1003,7 +1003,7 @@ subt_size_in_bytes(type_t *tp) break; case STRUCT: case UNION: - if ((elsz_in_bits = tp->t_sou->sou_size_in_bits) == 0) + if ((elsz_in_bits = (int)tp->t_sou->sou_size_in_bits) == 0) /* cannot do pointer arithmetic on operand of ... */ error(136); break; @@ -1541,8 +1541,8 @@ fold_bool(tnode_t *tn) return build_constant(tn->tn_type, v); } -static ldbl_t -floating_error_value(tspec_t t, ldbl_t lv) +static long double +floating_error_value(tspec_t t, long double lv) { if (t == FLOAT) return lv < 0 ? -FLT_MAX : FLT_MAX; @@ -1566,7 +1566,7 @@ floating_error_value(tspec_t t, ldbl_t l * few programs practically use 'long double'. */ /* LINTED 248: floating-point constant out of range */ - ldbl_t max = LDBL_MAX; + long double max = LDBL_MAX; return lv < 0 ? -max : max; } @@ -1578,7 +1578,7 @@ fold_float(tnode_t *tn) { val_t *v; tspec_t t; - ldbl_t lv, rv = 0; + long double lv, rv = 0; fpe = 0; v = xcalloc(1, sizeof(*v)); @@ -1681,7 +1681,7 @@ build_binary(tnode_t *ln, op_t op, bool /* * Apply class conversions to the left operand, but only if its - * value is needed or it is compared with zero. + * value is needed or compared with zero. */ if (mp->m_value_context || mp->m_compares_with_zero) ln = cconv(ln); @@ -3676,7 +3676,7 @@ static void convert_constant_floating(op_t op, int arg, tspec_t ot, const type_t *tp, tspec_t nt, val_t *v, val_t *nv) { - ldbl_t max = 0.0, min = 0.0; + long double max = 0.0, min = 0.0; switch (nt) { case CHAR: @@ -3754,7 +3754,7 @@ convert_constant_to_floating(tspec_t nt, (double)(uint64_t)v->v_quad : (double)v->v_quad; } else if (nt == LDOUBLE) { nv->v_ldbl = (ot == PTR || is_uinteger(ot)) ? - (ldbl_t)(uint64_t)v->v_quad : (ldbl_t)v->v_quad; + (long double)(uint64_t)v->v_quad : (long double)v->v_quad; } else return false; return true; @@ -3826,7 +3826,7 @@ convert_constant_check_range_signed(op_t * of the bits was set in an unsigned type or that at least one but not all * of the bits was set in a signed type. Loss of significant bits means that * it is not possible, also not with necessary casts, to convert back to the - * original type. A example for a necessary cast is: + * original type. An example for a necessary cast is: * char c; int i; c = 128; * i = c; ** yields -128 ** * i = (unsigned char)c; ** yields 128 ** @@ -4392,7 +4392,7 @@ constant(tnode_t *tn, bool required) v->v_quad = tn->tn_val->v_quad; return v; } - v->v_quad = tn->tn_val->v_ldbl; + v->v_quad = (int64_t)tn->tn_val->v_ldbl; } else { v->v_quad = 1; } @@ -4550,7 +4550,7 @@ check_expr_side_effect(const tnode_t *ln if (ln->tn_op == NAME && (reached || !warn_about_unreachable)) { scl_t sc = ln->tn_sym->s_scl; /* - * Look if there was a asm statement in one of the + * Look if there was an asm statement in one of the * compound statements we are in. If not, we don't * print a warning. */ @@ -4774,7 +4774,7 @@ constant_addr(const tnode_t *tn, const s return true; } else { /* - * If this would be the front end of a compiler we + * If this were the front end of a compiler, we * would return a label instead of 0, at least if * 'tn->tn_left->tn_op == STRING'. */