Module Name: src Committed By: rillig Date: Mon Aug 23 06:21:59 UTC 2021
Modified Files: src/usr.bin/xlint/lint1: emit1.c externs1.h lex.c tree.c Log Message: lint: remove unnecessary width parameter for msb No functional change. To generate a diff of this commit: cvs rdiff -u -r1.49 -r1.50 src/usr.bin/xlint/lint1/emit1.c cvs rdiff -u -r1.130 -r1.131 src/usr.bin/xlint/lint1/externs1.h cvs rdiff -u -r1.67 -r1.68 src/usr.bin/xlint/lint1/lex.c cvs rdiff -u -r1.347 -r1.348 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/lint1/emit1.c diff -u src/usr.bin/xlint/lint1/emit1.c:1.49 src/usr.bin/xlint/lint1/emit1.c:1.50 --- src/usr.bin/xlint/lint1/emit1.c:1.49 Thu Aug 19 21:13:58 2021 +++ src/usr.bin/xlint/lint1/emit1.c Mon Aug 23 06:21:59 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: emit1.c,v 1.49 2021/08/19 21:13:58 rillig Exp $ */ +/* $NetBSD: emit1.c,v 1.50 2021/08/23 06:21:59 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.49 2021/08/19 21:13:58 rillig Exp $"); +__RCSID("$NetBSD: emit1.c,v 1.50 2021/08/23 06:21:59 rillig Exp $"); #endif #include "lint1.h" @@ -415,7 +415,7 @@ outcall(const tnode_t *tn, bool rvused, if ((q = arg->tn_val->v_quad) == 0) { /* zero constant */ outchar('z'); - } else if (!msb(q, t, 0)) { + } else if (!msb(q, t)) { /* positive if cast to signed */ outchar('p'); } else { Index: src/usr.bin/xlint/lint1/externs1.h diff -u src/usr.bin/xlint/lint1/externs1.h:1.130 src/usr.bin/xlint/lint1/externs1.h:1.131 --- src/usr.bin/xlint/lint1/externs1.h:1.130 Sun Aug 22 14:50:06 2021 +++ src/usr.bin/xlint/lint1/externs1.h Mon Aug 23 06:21:59 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: externs1.h,v 1.130 2021/08/22 14:50:06 rillig Exp $ */ +/* $NetBSD: externs1.h,v 1.131 2021/08/23 06:21:59 rillig Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -78,7 +78,7 @@ extern symt_t symtyp; extern FILE *yyin; extern void initscan(void); -extern bool msb(int64_t, tspec_t, int); +extern bool msb(int64_t, tspec_t); extern int64_t convert_integer(int64_t, tspec_t, int); extern void clear_warn_flags(void); extern sym_t *getsym(sbuf_t *); Index: src/usr.bin/xlint/lint1/lex.c diff -u src/usr.bin/xlint/lint1/lex.c:1.67 src/usr.bin/xlint/lint1/lex.c:1.68 --- src/usr.bin/xlint/lint1/lex.c:1.67 Sun Aug 22 13:12:39 2021 +++ src/usr.bin/xlint/lint1/lex.c Mon Aug 23 06:21:59 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: lex.c,v 1.67 2021/08/22 13:12:39 rillig Exp $ */ +/* $NetBSD: lex.c,v 1.68 2021/08/23 06:21:59 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.67 2021/08/22 13:12:39 rillig Exp $"); +__RCSID("$NetBSD: lex.c,v 1.68 2021/08/23 06:21:59 rillig Exp $"); #endif #include <ctype.h> @@ -673,12 +673,10 @@ lex_integer_constant(const char *yytext, } bool -msb(int64_t q, tspec_t t, int len) +msb(int64_t q, tspec_t t) { - if (len <= 0) - len = size_in_bits(t); - return (q & bit(len - 1)) != 0; + return (q & bit(size_in_bits(t) - 1)) != 0; } /* @@ -696,7 +694,7 @@ convert_integer(int64_t q, tspec_t t, in len = size_in_bits(t); vbits = value_bits(len); - return t == PTR || is_uinteger(t) || !msb(q, t, len) + return t == PTR || is_uinteger(t) || ((q & bit(len - 1)) == 0) ? (int64_t)(q & vbits) : (int64_t)(q | ~vbits); } Index: src/usr.bin/xlint/lint1/tree.c diff -u src/usr.bin/xlint/lint1/tree.c:1.347 src/usr.bin/xlint/lint1/tree.c:1.348 --- src/usr.bin/xlint/lint1/tree.c:1.347 Mon Aug 23 06:10:26 2021 +++ src/usr.bin/xlint/lint1/tree.c Mon Aug 23 06:21:59 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: tree.c,v 1.347 2021/08/23 06:10:26 rillig Exp $ */ +/* $NetBSD: tree.c,v 1.348 2021/08/23 06:21:59 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.347 2021/08/23 06:10:26 rillig Exp $"); +__RCSID("$NetBSD: tree.c,v 1.348 2021/08/23 06:21:59 rillig Exp $"); #endif #include <float.h> @@ -1979,7 +1979,7 @@ check_prototype_conversion_integer(const */ if (ptn->tn_op == CON && is_integer(nt) && signed_type(nt) == signed_type(ot) && - !msb(ptn->tn_val->v_quad, ot, -1)) + !msb(ptn->tn_val->v_quad, ot)) return; /* argument #%d is converted from '%s' to '%s' ... */ @@ -3045,7 +3045,7 @@ fold(tnode_t *tn) break; case UMINUS: q = -sl; - if (sl != 0 && msb(q, t, -1) == msb(sl, t, -1)) + if (sl != 0 && msb(q, t) == msb(sl, t)) ovfl = true; break; case COMPL: @@ -3060,7 +3060,7 @@ fold(tnode_t *tn) ovfl = true; } else { q = sl * sr; - if (msb(q, t, -1) != (msb(sl, t, -1) ^ msb(sr, t, -1))) + if (msb(q, t) != (msb(sl, t) ^ msb(sr, t))) ovfl = true; } break; @@ -3084,20 +3084,19 @@ fold(tnode_t *tn) break; case PLUS: q = utyp ? (int64_t)(ul + ur) : sl + sr; - if (msb(sl, t, -1) && msb(sr, t, -1)) { - if (!msb(q, t, -1)) + if (msb(sl, t) && msb(sr, t)) { + if (!msb(q, t)) ovfl = true; - } else if (!msb(sl, t, -1) && !msb(sr, t, -1)) { - if (msb(q, t, -1) && !utyp) + } else if (!msb(sl, t) && !msb(sr, t)) { + if (msb(q, t) && !utyp) ovfl = true; } break; case MINUS: q = utyp ? (int64_t)(ul - ur) : sl - sr; - if (!utyp && - msb(sl, t, -1) && !msb(sr, t, -1) && !msb(q, t, -1)) + if (!utyp && msb(sl, t) && !msb(sr, t) && !msb(q, t)) ovfl = true; - if (!msb(sl, t, -1) && msb(sr, t, -1) && msb(q, t, -1)) + if (!msb(sl, t) && msb(sr, t) && msb(q, t)) ovfl = true; break; case SHL: