Module Name:    src
Committed By:   rillig
Date:           Fri Nov 29 06:57:43 UTC 2024

Modified Files:
        src/usr.bin/xlint/lint1: decl.c err.c externs1.h func.c lex.c lint1.h
            tree.c

Log Message:
lint: remove premature optimization for non-query scenarios


To generate a diff of this commit:
cvs rdiff -u -r1.409 -r1.410 src/usr.bin/xlint/lint1/decl.c
cvs rdiff -u -r1.256 -r1.257 src/usr.bin/xlint/lint1/err.c
cvs rdiff -u -r1.235 -r1.236 src/usr.bin/xlint/lint1/externs1.h
cvs rdiff -u -r1.189 -r1.190 src/usr.bin/xlint/lint1/func.c
cvs rdiff -u -r1.229 -r1.230 src/usr.bin/xlint/lint1/lex.c \
    src/usr.bin/xlint/lint1/lint1.h
cvs rdiff -u -r1.660 -r1.661 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.409 src/usr.bin/xlint/lint1/decl.c:1.410
--- src/usr.bin/xlint/lint1/decl.c:1.409	Thu Nov 28 22:32:53 2024
+++ src/usr.bin/xlint/lint1/decl.c	Fri Nov 29 06:57:43 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.409 2024/11/28 22:32:53 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.410 2024/11/29 06:57:43 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.409 2024/11/28 22:32:53 rillig Exp $");
+__RCSID("$NetBSD: decl.c,v 1.410 2024/11/29 06:57:43 rillig Exp $");
 #endif
 
 #include <sys/param.h>
@@ -1454,8 +1454,7 @@ declarator_name(sym_t *sym)
 		dcs->d_redeclared_symbol = NULL;
 	} else {
 		dcs->d_redeclared_symbol = sym;
-		if (is_query_enabled[16]
-		    && sym->s_scl == STATIC && dcs->d_scl != STATIC) {
+		if (sym->s_scl == STATIC && dcs->d_scl != STATIC) {
 			/* '%s' was declared 'static', now non-'static' */
 			query_message(16, sym->s_name);
 			print_previous_declaration(sym);
@@ -1817,8 +1816,7 @@ check_extern_declaration(const sym_t *sy
 		warning(351, sym->s_type->t_tspec == FUNC ? "" : " 'extern'",
 		    sym->s_name);
 	}
-	if (any_query_enabled &&
-	    sym->s_type->t_tspec == FUNC &&
+	if (sym->s_type->t_tspec == FUNC &&
 	    sym->s_scl == EXTERN &&
 	    sym->s_def == DECL &&
 	    !in_system_header)
@@ -2372,7 +2370,7 @@ declare_parameter(sym_t *sym, bool has_i
 		/* parameter '%s' declared inline */
 		warning(269, sym->s_name);
 
-	if (any_query_enabled && sym->s_type->t_const
+	if (sym->s_type->t_const
 	    && (sym->s_scl == AUTO || sym->s_scl == REG)) {
 		/* const automatic variable '%s' */
 		query_message(18, sym->s_name);
@@ -2715,7 +2713,7 @@ declare_local(sym_t *dsym, bool has_init
 		}
 	}
 
-	if (any_query_enabled && dsym->s_type->t_const
+	if (dsym->s_type->t_const
 	    && (dsym->s_scl == AUTO || dsym->s_scl == REG)) {
 		/* const automatic variable '%s' */
 		query_message(18, dsym->s_name);
@@ -2753,7 +2751,7 @@ declare_local(sym_t *dsym, bool has_init
 		set_first_typedef(dsym->s_type, dsym);
 	}
 
-	if (dsym->s_scl == STATIC && any_query_enabled)
+	if (dsym->s_scl == STATIC)
 		/* static variable '%s' in function */
 		query_message(11, dsym->s_name);
 

Index: src/usr.bin/xlint/lint1/err.c
diff -u src/usr.bin/xlint/lint1/err.c:1.256 src/usr.bin/xlint/lint1/err.c:1.257
--- src/usr.bin/xlint/lint1/err.c:1.256	Thu Nov 28 22:32:53 2024
+++ src/usr.bin/xlint/lint1/err.c	Fri Nov 29 06:57:43 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: err.c,v 1.256 2024/11/28 22:32:53 rillig Exp $	*/
+/*	$NetBSD: err.c,v 1.257 2024/11/29 06:57:43 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID)
-__RCSID("$NetBSD: err.c,v 1.256 2024/11/28 22:32:53 rillig Exp $");
+__RCSID("$NetBSD: err.c,v 1.257 2024/11/29 06:57:43 rillig Exp $");
 #endif
 
 #include <limits.h>
@@ -755,7 +755,6 @@ static const char *queries[] = {
 	"typedef '%s' of pointer to union type '%s'",			// Q24
 };
 
-bool any_query_enabled;		/* for optimizing non-query scenarios */
 bool is_query_enabled[sizeof(queries) / sizeof(queries[0])];
 
 void
@@ -788,7 +787,6 @@ enable_queries(const char *p)
 		    queries[id][0] == '\0')
 			break;
 
-		any_query_enabled = true;
 		is_query_enabled[id] = true;
 
 		if (*end == '\0')

Index: src/usr.bin/xlint/lint1/externs1.h
diff -u src/usr.bin/xlint/lint1/externs1.h:1.235 src/usr.bin/xlint/lint1/externs1.h:1.236
--- src/usr.bin/xlint/lint1/externs1.h:1.235	Wed Nov 13 04:32:49 2024
+++ src/usr.bin/xlint/lint1/externs1.h	Fri Nov 29 06:57:43 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: externs1.h,v 1.235 2024/11/13 04:32:49 rillig Exp $	*/
+/*	$NetBSD: externs1.h,v 1.236 2024/11/29 06:57:43 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994, 1995 Jochen Pohl
@@ -183,7 +183,6 @@ void debug_attribute_list(const attribut
 extern bool seen_error;
 extern bool seen_warning;
 extern int sytxerr;
-extern bool any_query_enabled;
 extern bool is_query_enabled[];
 
 void msglist(void);

Index: src/usr.bin/xlint/lint1/func.c
diff -u src/usr.bin/xlint/lint1/func.c:1.189 src/usr.bin/xlint/lint1/func.c:1.190
--- src/usr.bin/xlint/lint1/func.c:1.189	Wed Nov 13 04:32:49 2024
+++ src/usr.bin/xlint/lint1/func.c	Fri Nov 29 06:57:43 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: func.c,v 1.189 2024/11/13 04:32:49 rillig Exp $	*/
+/*	$NetBSD: func.c,v 1.190 2024/11/29 06:57:43 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID)
-__RCSID("$NetBSD: func.c,v 1.189 2024/11/13 04:32:49 rillig Exp $");
+__RCSID("$NetBSD: func.c,v 1.190 2024/11/29 06:57:43 rillig Exp $");
 #endif
 
 #include <stdlib.h>
@@ -921,10 +921,9 @@ is_parenthesized(const tnode_t *tn)
 static void
 check_return_value(bool sys, tnode_t *tn)
 {
-	if (any_query_enabled && is_parenthesized(tn)) {
+	if (is_parenthesized(tn))
 		/* parenthesized return value */
 		query_message(9);
-	}
 
 	/* Create a temporary node for the left side */
 	tnode_t *ln = expr_zero_alloc(sizeof(*ln), "tnode");

Index: src/usr.bin/xlint/lint1/lex.c
diff -u src/usr.bin/xlint/lint1/lex.c:1.229 src/usr.bin/xlint/lint1/lex.c:1.230
--- src/usr.bin/xlint/lint1/lex.c:1.229	Thu Aug 29 20:35:19 2024
+++ src/usr.bin/xlint/lint1/lex.c	Fri Nov 29 06:57:43 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: lex.c,v 1.229 2024/08/29 20:35:19 rillig Exp $ */
+/* $NetBSD: lex.c,v 1.230 2024/11/29 06:57:43 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -38,7 +38,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID)
-__RCSID("$NetBSD: lex.c,v 1.229 2024/08/29 20:35:19 rillig Exp $");
+__RCSID("$NetBSD: lex.c,v 1.230 2024/11/29 06:57:43 rillig Exp $");
 #endif
 
 #include <ctype.h>
@@ -592,7 +592,7 @@ lex_integer_constant(const char *text, s
 		warned = true;
 	}
 
-	if (any_query_enabled && base == 8 && ui != 0)
+	if (base == 8 && ui != 0)
 		/* octal number '%.*s' */
 		query_message(8, (int)len, cp);
 
Index: src/usr.bin/xlint/lint1/lint1.h
diff -u src/usr.bin/xlint/lint1/lint1.h:1.229 src/usr.bin/xlint/lint1/lint1.h:1.230
--- src/usr.bin/xlint/lint1/lint1.h:1.229	Wed Nov 13 03:43:00 2024
+++ src/usr.bin/xlint/lint1/lint1.h	Fri Nov 29 06:57:43 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: lint1.h,v 1.229 2024/11/13 03:43:00 rillig Exp $ */
+/* $NetBSD: lint1.h,v 1.230 2024/11/29 06:57:43 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -635,8 +635,7 @@ check_printf(const char *fmt, ...)
 #else
 #  define query_message(...)						\
 	do {								\
-		if (any_query_enabled)					\
-			(query_message)(__VA_ARGS__);			\
+		(query_message)(__VA_ARGS__);				\
 	} while (false)
 #endif
 

Index: src/usr.bin/xlint/lint1/tree.c
diff -u src/usr.bin/xlint/lint1/tree.c:1.660 src/usr.bin/xlint/lint1/tree.c:1.661
--- src/usr.bin/xlint/lint1/tree.c:1.660	Sat Nov 23 16:48:35 2024
+++ src/usr.bin/xlint/lint1/tree.c	Fri Nov 29 06:57:43 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: tree.c,v 1.660 2024/11/23 16:48:35 rillig Exp $	*/
+/*	$NetBSD: tree.c,v 1.661 2024/11/29 06:57:43 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.660 2024/11/23 16:48:35 rillig Exp $");
+__RCSID("$NetBSD: tree.c,v 1.661 2024/11/29 06:57:43 rillig Exp $");
 #endif
 
 #include <float.h>
@@ -708,7 +708,7 @@ check_integer_comparison(op_t op, tnode_
 	if (!is_integer(lt) || !is_integer(rt))
 		return;
 
-	if (any_query_enabled && !in_system_header) {
+	if (!in_system_header) {
 		if (lt == CHAR && rn->tn_op == CON &&
 		    !rn->u.value.v_char_constant) {
 			/* comparison '%s' of 'char' with plain integer %d */
@@ -1485,10 +1485,9 @@ build_assignment(op_t op, bool sys, tnod
 	tspec_t lt = ln->tn_type->t_tspec;
 	tspec_t rt = rn->tn_type->t_tspec;
 
-	if (any_query_enabled && is_assignment(rn->tn_op)) {
+	if (is_assignment(rn->tn_op))
 		/* chained assignment with '%s' and '%s' */
 		query_message(10, op_name(op), op_name(rn->tn_op));
-	}
 
 	if ((op == ADDASS || op == SUBASS) && lt == PTR) {
 		lint_assert(is_integer(rt));
@@ -1527,14 +1526,13 @@ build_assignment(op_t op, bool sys, tnod
 		rt = lt;
 	}
 
-	if (is_query_enabled[20]
-	    && lt == PTR && ln->tn_type->t_subt->t_tspec != VOID
+	if (lt == PTR && ln->tn_type->t_subt->t_tspec != VOID
 	    && rt == PTR && rn->tn_type->t_subt->t_tspec == VOID
 	    && !is_null_pointer(rn))
 		/* implicit narrowing conversion from void ... */
 		query_message(20, type_name(ln->tn_type));
 
-	if (any_query_enabled && rn->tn_op == CVT && rn->tn_cast &&
+	if (rn->tn_op == CVT && rn->tn_cast &&
 	    types_compatible(ln->tn_type, rn->tn_type, false, false, NULL) &&
 	    is_cast_redundant(rn)) {
 		/* redundant cast from '%s' to '%s' before assignment */
@@ -1934,11 +1932,9 @@ build_binary(tnode_t *ln, op_t op, bool 
 		ntn = build_assignment(op, sys, ln, rn);
 		break;
 	case COMMA:
-		if (any_query_enabled) {
-			/* comma operator with types '%s' and '%s' */
-			query_message(12,
-			    type_name(ln->tn_type), type_name(rn->tn_type));
-		}
+		/* comma operator with types '%s' and '%s' */
+		query_message(12,
+		    type_name(ln->tn_type), type_name(rn->tn_type));
 		/* FALLTHROUGH */
 	case QUEST:
 		ntn = build_op(op, sys, rn->tn_type, ln, rn);
@@ -3583,7 +3579,7 @@ convert_integer_from_integer(op_t op, in
 		}
 	}
 
-	if (any_query_enabled && is_uinteger(nt) != is_uinteger(ot))
+	if (is_uinteger(nt) != is_uinteger(ot))
 		/* implicit conversion changes sign from '%s' to '%s' */
 		query_message(3, type_name(tn->tn_type), type_name(tp));
 }
@@ -4305,8 +4301,7 @@ cast(tnode_t *tn, bool sys, type_t *tp)
 	} else
 		goto invalid_cast;
 
-	if (any_query_enabled
-	    && types_compatible(tp, tn->tn_type, false, false, NULL))
+	if (types_compatible(tp, tn->tn_type, false, false, NULL))
 		/* no-op cast from '%s' to '%s' */
 		query_message(6, type_name(tn->tn_type), type_name(tp));
 

Reply via email to