Module Name: src
Committed By: rillig
Date: Sun Jul 9 12:15:07 UTC 2023
Modified Files:
src/usr.bin/xlint/common: emit.c
src/usr.bin/xlint/lint1: decl.c func.c lex.c lint1.h mem1.c
Log Message:
lint: miscellaneous cleanup
To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/usr.bin/xlint/common/emit.c
cvs rdiff -u -r1.347 -r1.348 src/usr.bin/xlint/lint1/decl.c
cvs rdiff -u -r1.166 -r1.167 src/usr.bin/xlint/lint1/func.c
cvs rdiff -u -r1.171 -r1.172 src/usr.bin/xlint/lint1/lex.c
cvs rdiff -u -r1.181 -r1.182 src/usr.bin/xlint/lint1/lint1.h
cvs rdiff -u -r1.66 -r1.67 src/usr.bin/xlint/lint1/mem1.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/emit.c
diff -u src/usr.bin/xlint/common/emit.c:1.19 src/usr.bin/xlint/common/emit.c:1.20
--- src/usr.bin/xlint/common/emit.c:1.19 Fri Jun 9 13:03:49 2023
+++ src/usr.bin/xlint/common/emit.c Sun Jul 9 12:15:07 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: emit.c,v 1.19 2023/06/09 13:03:49 rillig Exp $ */
+/* $NetBSD: emit.c,v 1.20 2023/07/09 12:15:07 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID)
-__RCSID("$NetBSD: emit.c,v 1.19 2023/06/09 13:03:49 rillig Exp $");
+__RCSID("$NetBSD: emit.c,v 1.20 2023/07/09 12:15:07 rillig Exp $");
#endif
#include <stdio.h>
@@ -91,12 +91,12 @@ outclose(void)
static void
outxbuf(void)
{
- ptrdiff_t coffs;
- coffs = ob.o_next - ob.o_buf;
+ size_t next = (size_t)(ob.o_next - ob.o_buf);
ob.o_len *= 2;
- ob.o_end = (ob.o_buf = xrealloc(ob.o_buf, ob.o_len)) + ob.o_len;
- ob.o_next = ob.o_buf + coffs;
+ ob.o_buf = xrealloc(ob.o_buf, ob.o_len);
+ ob.o_end = ob.o_buf + ob.o_len;
+ ob.o_next = ob.o_buf + next;
}
/*
@@ -106,11 +106,10 @@ outxbuf(void)
void
outclr(void)
{
- size_t sz;
if (ob.o_buf != ob.o_next) {
outchar('\n');
- sz = ob.o_next - ob.o_buf;
+ size_t sz = (size_t)(ob.o_next - ob.o_buf);
if (sz > ob.o_len)
errx(1, "internal error: outclr");
if (fwrite(ob.o_buf, sz, 1, lout) != 1)
Index: src/usr.bin/xlint/lint1/decl.c
diff -u src/usr.bin/xlint/lint1/decl.c:1.347 src/usr.bin/xlint/lint1/decl.c:1.348
--- src/usr.bin/xlint/lint1/decl.c:1.347 Sun Jul 9 11:18:55 2023
+++ src/usr.bin/xlint/lint1/decl.c Sun Jul 9 12:15:07 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.347 2023/07/09 11:18:55 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.348 2023/07/09 12:15:07 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.347 2023/07/09 11:18:55 rillig Exp $");
+__RCSID("$NetBSD: decl.c,v 1.348 2023/07/09 12:15:07 rillig Exp $");
#endif
#include <sys/param.h>
@@ -130,6 +130,7 @@ type_t *
gettyp(tspec_t t)
{
+ lint_assert((int)t < (int)STRUCT);
/* TODO: make the return type 'const' */
return &typetab[t];
}
@@ -584,7 +585,7 @@ end_declaration_level(void)
symtab_remove_level(dl->d_first_dlsym);
break;
case DLK_EXTERN:
- /* there is nothing around an external declarations */
+ /* there is nothing around an external declaration */
/* FALLTHROUGH */
default:
lint_assert(/*CONSTCOND*/false);
Index: src/usr.bin/xlint/lint1/func.c
diff -u src/usr.bin/xlint/lint1/func.c:1.166 src/usr.bin/xlint/lint1/func.c:1.167
--- src/usr.bin/xlint/lint1/func.c:1.166 Sun Jul 9 11:01:27 2023
+++ src/usr.bin/xlint/lint1/func.c Sun Jul 9 12:15:07 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: func.c,v 1.166 2023/07/09 11:01:27 rillig Exp $ */
+/* $NetBSD: func.c,v 1.167 2023/07/09 12:15:07 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.166 2023/07/09 11:01:27 rillig Exp $");
+__RCSID("$NetBSD: func.c,v 1.167 2023/07/09 12:15:07 rillig Exp $");
#endif
#include <stdlib.h>
@@ -447,15 +447,14 @@ named_label(sym_t *sym)
static void
check_case_label_bitand(const tnode_t *case_expr, const tnode_t *switch_expr)
{
- uint64_t case_value, mask;
if (switch_expr->tn_op != BITAND ||
switch_expr->tn_right->tn_op != CON)
return;
lint_assert(case_expr->tn_op == CON);
- case_value = case_expr->tn_val.u.integer;
- mask = switch_expr->tn_right->tn_val.u.integer;
+ uint64_t case_value = (uint64_t)case_expr->tn_val.u.integer;
+ uint64_t mask = (uint64_t)switch_expr->tn_right->tn_val.u.integer;
if ((case_value & ~mask) != 0) {
/* statement not reached */
Index: src/usr.bin/xlint/lint1/lex.c
diff -u src/usr.bin/xlint/lint1/lex.c:1.171 src/usr.bin/xlint/lint1/lex.c:1.172
--- src/usr.bin/xlint/lint1/lex.c:1.171 Sun Jul 9 11:18:55 2023
+++ src/usr.bin/xlint/lint1/lex.c Sun Jul 9 12:15:07 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: lex.c,v 1.171 2023/07/09 11:18:55 rillig Exp $ */
+/* $NetBSD: lex.c,v 1.172 2023/07/09 12:15:07 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.171 2023/07/09 11:18:55 rillig Exp $");
+__RCSID("$NetBSD: lex.c,v 1.172 2023/07/09 12:15:07 rillig Exp $");
#endif
#include <ctype.h>
@@ -615,9 +615,10 @@ convert_integer(int64_t si, tspec_t t, u
len = size_in_bits(t);
uint64_t vbits = value_bits(len);
- return t == PTR || is_uinteger(t) || ((si & bit(len - 1)) == 0)
- ? (int64_t)(si & vbits)
- : (int64_t)(si | ~vbits);
+ uint64_t ui = (uint64_t)si;
+ return t == PTR || is_uinteger(t) || ((ui & bit(len - 1)) == 0)
+ ? (int64_t)(ui & vbits)
+ : (int64_t)(ui | ~vbits);
}
int
Index: src/usr.bin/xlint/lint1/lint1.h
diff -u src/usr.bin/xlint/lint1/lint1.h:1.181 src/usr.bin/xlint/lint1/lint1.h:1.182
--- src/usr.bin/xlint/lint1/lint1.h:1.181 Mon Jul 3 07:19:57 2023
+++ src/usr.bin/xlint/lint1/lint1.h Sun Jul 9 12:15:07 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: lint1.h,v 1.181 2023/07/03 07:19:57 rillig Exp $ */
+/* $NetBSD: lint1.h,v 1.182 2023/07/09 12:15:07 rillig Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved.
@@ -574,7 +574,7 @@ bit(unsigned i)
static inline bool
msb(int64_t si, tspec_t t)
{
- return (si & bit(size_in_bits(t) - 1)) != 0;
+ return ((uint64_t)si & bit(size_in_bits(t) - 1)) != 0;
}
static inline uint64_t
Index: src/usr.bin/xlint/lint1/mem1.c
diff -u src/usr.bin/xlint/lint1/mem1.c:1.66 src/usr.bin/xlint/lint1/mem1.c:1.67
--- src/usr.bin/xlint/lint1/mem1.c:1.66 Fri Jun 30 12:21:25 2023
+++ src/usr.bin/xlint/lint1/mem1.c Sun Jul 9 12:15:07 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: mem1.c,v 1.66 2023/06/30 12:21:25 rillig Exp $ */
+/* $NetBSD: mem1.c,v 1.67 2023/07/09 12:15:07 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID)
-__RCSID("$NetBSD: mem1.c,v 1.66 2023/06/30 12:21:25 rillig Exp $");
+__RCSID("$NetBSD: mem1.c,v 1.67 2023/07/09 12:15:07 rillig Exp $");
#endif
#include <sys/param.h>
@@ -93,7 +93,7 @@ add_directory_replacement(char *arg)
*sep = '\0';
r->orig = arg;
- r->orig_len = sep - arg;
+ r->orig_len = (size_t)(sep - arg);
r->repl = sep + 1;
r->next = filename_replacements;
filename_replacements = r;