Module Name: src Committed By: rillig Date: Sun Mar 10 09:24:54 UTC 2024
Modified Files: src/usr.bin/xlint/lint1: tree.c Log Message: lint: in check for integer overflow, sort operators To generate a diff of this commit: cvs rdiff -u -r1.614 -r1.615 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/tree.c diff -u src/usr.bin/xlint/lint1/tree.c:1.614 src/usr.bin/xlint/lint1/tree.c:1.615 --- src/usr.bin/xlint/lint1/tree.c:1.614 Sat Mar 9 23:55:11 2024 +++ src/usr.bin/xlint/lint1/tree.c Sun Mar 10 09:24:54 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: tree.c,v 1.614 2024/03/09 23:55:11 rillig Exp $ */ +/* $NetBSD: tree.c,v 1.615 2024/03/10 09:24:54 rillig Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -37,7 +37,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) -__RCSID("$NetBSD: tree.c,v 1.614 2024/03/09 23:55:11 rillig Exp $"); +__RCSID("$NetBSD: tree.c,v 1.615 2024/03/10 09:24:54 rillig Exp $"); #endif #include <float.h> @@ -815,6 +815,9 @@ fold_constant_integer(tnode_t *tn) int64_t si; switch (tn->tn_op) { + case COMPL: + si = ~sl; + break; case UPLUS: si = sl; break; @@ -823,9 +826,6 @@ fold_constant_integer(tnode_t *tn) if (sl != 0 && msb(si, t) == msb(sl, t)) ovfl = true; break; - case COMPL: - si = ~sl; - break; case MULT: if (utyp) { si = (int64_t)(ul * ur); @@ -892,12 +892,12 @@ fold_constant_integer(tnode_t *tn) case LE: si = (utyp ? ul <= ur : sl <= sr) ? 1 : 0; break; - case GE: - si = (utyp ? ul >= ur : sl >= sr) ? 1 : 0; - break; case GT: si = (utyp ? ul > ur : sl > sr) ? 1 : 0; break; + case GE: + si = (utyp ? ul >= ur : sl >= sr) ? 1 : 0; + break; case EQ: si = (utyp ? ul == ur : sl == sr) ? 1 : 0; break;