lint: in check for integer overflow, sort operators

This commit is contained in:
rillig 2024-03-10 09:24:54 +00:00
parent 639abfc2e4
commit c11cfaed7e
1 changed files with 8 additions and 8 deletions

View File

@ -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;