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;