Module Name: src
Committed By: rillig
Date: Thu Aug 19 21:13:58 UTC 2021
Modified Files:
src/usr.bin/xlint/lint1: emit1.c externs1.h lex.c tree.c
Log Message:
lint: change return type of 'msb' from int to bool
No functional change.
To generate a diff of this commit:
cvs rdiff -u -r1.48 -r1.49 src/usr.bin/xlint/lint1/emit1.c
cvs rdiff -u -r1.128 -r1.129 src/usr.bin/xlint/lint1/externs1.h
cvs rdiff -u -r1.64 -r1.65 src/usr.bin/xlint/lint1/lex.c
cvs rdiff -u -r1.339 -r1.340 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.48 src/usr.bin/xlint/lint1/emit1.c:1.49
--- src/usr.bin/xlint/lint1/emit1.c:1.48 Sun Aug 8 10:41:34 2021
+++ src/usr.bin/xlint/lint1/emit1.c Thu Aug 19 21:13:58 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: emit1.c,v 1.48 2021/08/08 10:41:34 rillig Exp $ */
+/* $NetBSD: emit1.c,v 1.49 2021/08/19 21:13:58 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.48 2021/08/08 10:41:34 rillig Exp $");
+__RCSID("$NetBSD: emit1.c,v 1.49 2021/08/19 21:13:58 rillig Exp $");
#endif
#include "lint1.h"
@@ -415,11 +415,11 @@ 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) == 0) {
- /* positive if casted to signed */
+ } else if (!msb(q, t, 0)) {
+ /* positive if cast to signed */
outchar('p');
} else {
- /* negative if casted to signed */
+ /* negative if cast to signed */
outchar('n');
}
outint(n);
Index: src/usr.bin/xlint/lint1/externs1.h
diff -u src/usr.bin/xlint/lint1/externs1.h:1.128 src/usr.bin/xlint/lint1/externs1.h:1.129
--- src/usr.bin/xlint/lint1/externs1.h:1.128 Sun Aug 1 19:11:54 2021
+++ src/usr.bin/xlint/lint1/externs1.h Thu Aug 19 21:13:58 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: externs1.h,v 1.128 2021/08/01 19:11:54 rillig Exp $ */
+/* $NetBSD: externs1.h,v 1.129 2021/08/19 21:13:58 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -76,7 +76,7 @@ extern symt_t symtyp;
extern FILE *yyin;
extern void initscan(void);
-extern int msb(int64_t, tspec_t, int);
+extern bool msb(int64_t, tspec_t, int);
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.64 src/usr.bin/xlint/lint1/lex.c:1.65
--- src/usr.bin/xlint/lint1/lex.c:1.64 Thu Aug 19 20:08:25 2021
+++ src/usr.bin/xlint/lint1/lex.c Thu Aug 19 21:13:58 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: lex.c,v 1.64 2021/08/19 20:08:25 rillig Exp $ */
+/* $NetBSD: lex.c,v 1.65 2021/08/19 21:13:58 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.64 2021/08/19 20:08:25 rillig Exp $");
+__RCSID("$NetBSD: lex.c,v 1.65 2021/08/19 21:13:58 rillig Exp $");
#endif
#include <ctype.h>
@@ -679,13 +679,13 @@ lex_integer_constant(const char *yytext,
return T_CON;
}
-int
+bool
msb(int64_t q, tspec_t t, int len)
{
if (len <= 0)
len = size_in_bits(t);
- return (q & bit(len - 1)) != 0 ? 1 : 0;
+ return (q & bit(len - 1)) != 0;
}
/*
@@ -703,9 +703,9 @@ 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) == 0
- ? q & vbits
- : q | ~vbits;
+ return t == PTR || is_uinteger(t) || !msb(q, t, len)
+ ? (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.339 src/usr.bin/xlint/lint1/tree.c:1.340
--- src/usr.bin/xlint/lint1/tree.c:1.339 Thu Aug 19 20:53:37 2021
+++ src/usr.bin/xlint/lint1/tree.c Thu Aug 19 21:13:58 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: tree.c,v 1.339 2021/08/19 20:53:37 rillig Exp $ */
+/* $NetBSD: tree.c,v 1.340 2021/08/19 21:13:58 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.339 2021/08/19 20:53:37 rillig Exp $");
+__RCSID("$NetBSD: tree.c,v 1.340 2021/08/19 21:13:58 rillig Exp $");
#endif
#include <float.h>
@@ -2010,7 +2010,7 @@ check_prototype_conversion(int arg, tspe
*/
if (ptn->tn_op == CON && is_integer(nt) &&
signed_type(nt) == signed_type(ot) &&
- msb(ptn->tn_val->v_quad, ot, -1) == 0) {
+ !msb(ptn->tn_val->v_quad, ot, -1)) {
/* ok */
} else {
/* argument #%d is converted from '%s' to '%s' ... */
@@ -3068,21 +3068,21 @@ fold(tnode_t *tn)
break;
case PLUS:
q = utyp ? (int64_t)(ul + ur) : sl + sr;
- if (msb(sl, t, -1) != 0 && msb(sr, t, -1) != 0) {
- if (msb(q, t, -1) == 0)
+ if (msb(sl, t, -1) && msb(sr, t, -1)) {
+ if (!msb(q, t, -1))
ovfl = true;
- } else if (msb(sl, t, -1) == 0 && msb(sr, t, -1) == 0) {
- if (msb(q, t, -1) != 0 && !utyp)
+ } else if (!msb(sl, t, -1) && !msb(sr, t, -1)) {
+ if (msb(q, t, -1) && !utyp)
ovfl = true;
}
break;
case MINUS:
q = utyp ? (int64_t)(ul - ur) : sl - sr;
- if (msb(sl, t, -1) != 0 && msb(sr, t, -1) == 0) {
- if (msb(q, t, -1) == 0)
+ if (msb(sl, t, -1) && !msb(sr, t, -1)) {
+ if (!msb(q, t, -1))
ovfl = true;
- } else if (msb(sl, t, -1) == 0 && msb(sr, t, -1) != 0) {
- if (msb(q, t, -1) != 0)
+ } else if (!msb(sl, t, -1) && msb(sr, t, -1)) {
+ if (msb(q, t, -1))
ovfl = true;
}
break;