Module Name:    src
Committed By:   rillig
Date:           Fri Jul 14 09:20:23 UTC 2023

Modified Files:
        src/usr.bin/xlint/lint1: decl.c tree.c

Log Message:
lint: clean up redundant and verbose code


To generate a diff of this commit:
cvs rdiff -u -r1.355 -r1.356 src/usr.bin/xlint/lint1/decl.c
cvs rdiff -u -r1.565 -r1.566 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/decl.c
diff -u src/usr.bin/xlint/lint1/decl.c:1.355 src/usr.bin/xlint/lint1/decl.c:1.356
--- src/usr.bin/xlint/lint1/decl.c:1.355	Thu Jul 13 23:27:20 2023
+++ src/usr.bin/xlint/lint1/decl.c	Fri Jul 14 09:20:23 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.355 2023/07/13 23:27:20 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.356 2023/07/14 09:20:23 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -38,7 +38,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID)
-__RCSID("$NetBSD: decl.c,v 1.355 2023/07/13 23:27:20 rillig Exp $");
+__RCSID("$NetBSD: decl.c,v 1.356 2023/07/14 09:20:23 rillig Exp $");
 #endif
 
 #include <sys/param.h>
@@ -104,7 +104,6 @@ initdecl(void)
 				ttab[i].tt_rank_value =
 				    ttab[i].tt_size_in_bits;
 		}
-		ttab[BOOL].tt_rank_kind = RK_INTEGER;
 		ttab[BOOL].tt_rank_value = 1;
 	}
 
@@ -607,7 +606,7 @@ void
 dcs_begin_type(void)
 {
 
-	debug_step("%s", __func__);
+	debug_enter();
 	dcs->d_abstract_type = NO_TSPEC;
 	dcs->d_complex_mod = NO_TSPEC;
 	dcs->d_sign_mod = NO_TSPEC;
@@ -711,7 +710,6 @@ void
 dcs_end_type(void)
 {
 
-	debug_step("%s", __func__);
 	dcs_merge_declaration_specifiers();
 
 	if (dcs->d_multiple_storage_classes) {
@@ -743,6 +741,8 @@ dcs_end_type(void)
 		dcs->d_type->t_const |= dcs->d_qual.tq_const;
 		dcs->d_type->t_volatile |= dcs->d_qual.tq_volatile;
 	}
+
+	debug_leave();
 }
 
 /*
@@ -1148,10 +1148,10 @@ add_type_qualifiers(type_qualifiers *dst
 		/* duplicate '%s' */
 		warning(10, "volatile");
 
-	dst->tq_const = dst->tq_const || src.tq_const;
-	dst->tq_restrict = dst->tq_restrict || src.tq_restrict;
-	dst->tq_volatile = dst->tq_volatile || src.tq_volatile;
-	dst->tq_atomic = dst->tq_atomic || src.tq_atomic;
+	dst->tq_const = dst->tq_const | src.tq_const;
+	dst->tq_restrict = dst->tq_restrict | src.tq_restrict;
+	dst->tq_volatile = dst->tq_volatile | src.tq_volatile;
+	dst->tq_atomic = dst->tq_atomic | src.tq_atomic;
 }
 
 qual_ptr *

Index: src/usr.bin/xlint/lint1/tree.c
diff -u src/usr.bin/xlint/lint1/tree.c:1.565 src/usr.bin/xlint/lint1/tree.c:1.566
--- src/usr.bin/xlint/lint1/tree.c:1.565	Fri Jul 14 09:04:08 2023
+++ src/usr.bin/xlint/lint1/tree.c	Fri Jul 14 09:20:23 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: tree.c,v 1.565 2023/07/14 09:04:08 rillig Exp $	*/
+/*	$NetBSD: tree.c,v 1.566 2023/07/14 09:20:23 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.565 2023/07/14 09:04:08 rillig Exp $");
+__RCSID("$NetBSD: tree.c,v 1.566 2023/07/14 09:20:23 rillig Exp $");
 #endif
 
 #include <float.h>
@@ -358,8 +358,7 @@ build_op(op_t op, bool sys, type_t *type
 	if (op == INDIR || op == FSEL) {
 		lint_assert(ln->tn_type->t_tspec == PTR);
 		tspec_t t = ln->tn_type->t_subt->t_tspec;
-		if (t != FUNC && t != VOID)
-			ntn->tn_lvalue = true;
+		ntn->tn_lvalue = t != FUNC && t != VOID;
 	}
 
 	return ntn;
@@ -937,11 +936,7 @@ build_struct_access(op_t op, bool sys, t
 	lint_assert(rn->tn_op == NAME);
 	lint_assert(is_member(rn->tn_sym));
 
-	/*
-	 * Remember if the left operand is an lvalue (structure members
-	 * are lvalues if and only if the structure itself is an lvalue).
-	 */
-	bool nolval = op == POINT && !ln->tn_lvalue;
+	bool lvalue = op == ARROW || ln->tn_lvalue;
 
 	if (op == POINT) {
 		ln = build_address(sys, ln, true);
@@ -959,13 +954,9 @@ build_struct_access(op_t op, bool sys, t
 	if (ln->tn_op == CON)
 		ntn = fold(ntn);
 
-	if (rn->tn_type->t_bitfield) {
-		ntn = build_op(FSEL, sys, ntn->tn_type->t_subt, ntn, NULL);
-	} else {
-		ntn = build_op(INDIR, sys, ntn->tn_type->t_subt, ntn, NULL);
-	}
-
-	if (nolval)
+	op_t nop = rn->tn_type->t_bitfield ? FSEL : INDIR;
+	ntn = build_op(nop, sys, ntn->tn_type->t_subt, ntn, NULL);
+	if (!lvalue)
 		ntn->tn_lvalue = false;
 
 	return ntn;

Reply via email to