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: