Module Name:    src
Committed By:   rillig
Date:           Sat Apr  2 17:28:06 UTC 2022

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

Log Message:
lint: inline setcomplete

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.261 -r1.262 src/usr.bin/xlint/lint1/decl.c
cvs rdiff -u -r1.151 -r1.152 src/usr.bin/xlint/lint1/externs1.h

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.261 src/usr.bin/xlint/lint1/decl.c:1.262
--- src/usr.bin/xlint/lint1/decl.c:1.261	Sat Apr  2 16:27:03 2022
+++ src/usr.bin/xlint/lint1/decl.c	Sat Apr  2 17:28:06 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.261 2022/04/02 16:27:03 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.262 2022/04/02 17:28:06 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: decl.c,v 1.261 2022/04/02 16:27:03 rillig Exp $");
+__RCSID("$NetBSD: decl.c,v 1.262 2022/04/02 17:28:06 rillig Exp $");
 #endif
 
 #include <sys/param.h>
@@ -225,25 +225,6 @@ is_incomplete(const type_t *tp)
 }
 
 /*
- * Mark an array, struct, union or enum type as complete or incomplete.
- */
-void
-setcomplete(type_t *tp, bool complete)
-{
-	tspec_t	t;
-
-	lint_assert(tp != NULL);
-	if ((t = tp->t_tspec) == ARRAY) {
-		tp->t_incomplete_array = !complete;
-	} else if (t == STRUCT || t == UNION) {
-		tp->t_str->sou_incomplete = !complete;
-	} else {
-		lint_assert(t == ENUM);
-		tp->t_enum->en_incomplete = !complete;
-	}
-}
-
-/*
  * Remember the storage class of the current declaration in dcs->d_scl
  * (the top element of the declaration stack) and detect multiple
  * storage classes.
@@ -1365,7 +1346,7 @@ add_array(sym_t *decl, bool dim, int n)
 		/* zero sized array is a C99 extension */
 		c99ism(322);
 	} else if (n == 0 && !dim) {
-		setcomplete(tp, false);
+		tp->t_incomplete_array = true;
 	}
 
 	debug_step("add_array: '%s'", type_name(decl->s_type));
@@ -1707,12 +1688,13 @@ mktag(sym_t *tag, tspec_t kind, bool dec
 			tp->t_str = block_zero_alloc(sizeof(*tp->t_str));
 			tp->t_str->sou_align_in_bits = CHAR_SIZE;
 			tp->t_str->sou_tag = tag;
+			tp->t_str->sou_incomplete = true;
 		} else {
 			tp->t_is_enum = true;
 			tp->t_enum = block_zero_alloc(sizeof(*tp->t_enum));
 			tp->t_enum->en_tag = tag;
+			tp->t_enum->en_incomplete = true;
 		}
-		setcomplete(tp, false);
 	}
 	return tp;
 }
@@ -1807,7 +1789,10 @@ complete_tag_struct_or_union(type_t *tp,
 	if (tp == NULL)		/* in case of syntax errors */
 		return gettyp(INT);
 
-	setcomplete(tp, true);
+	if (tp->t_tspec == ENUM)
+		tp->t_enum->en_incomplete = false;
+	else
+		tp->t_str->sou_incomplete = false;
 
 	t = tp->t_tspec;
 	align((u_int)dcs->d_sou_align_in_bits, 0);
@@ -1852,7 +1837,7 @@ type_t *
 complete_tag_enum(type_t *tp, sym_t *fmem)
 {
 
-	setcomplete(tp, true);
+	tp->t_enum->en_incomplete = false;
 	tp->t_enum->en_first_enumerator = fmem;
 	return tp;
 }
@@ -2388,7 +2373,7 @@ complete_type(sym_t *dsym, sym_t *ssym)
 			if (dst->t_dim == 0 && src->t_dim != 0) {
 				*dstp = dst = block_dup_type(dst);
 				dst->t_dim = src->t_dim;
-				setcomplete(dst, true);
+				dst->t_incomplete_array = false;
 			}
 		} else if (dst->t_tspec == FUNC) {
 			if (!dst->t_proto && src->t_proto) {

Index: src/usr.bin/xlint/lint1/externs1.h
diff -u src/usr.bin/xlint/lint1/externs1.h:1.151 src/usr.bin/xlint/lint1/externs1.h:1.152
--- src/usr.bin/xlint/lint1/externs1.h:1.151	Sat Apr  2 12:24:55 2022
+++ src/usr.bin/xlint/lint1/externs1.h	Sat Apr  2 17:28:06 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: externs1.h,v 1.151 2022/04/02 12:24:55 rillig Exp $	*/
+/*	$NetBSD: externs1.h,v 1.152 2022/04/02 17:28:06 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994, 1995 Jochen Pohl
@@ -181,7 +181,6 @@ extern	type_t	*block_dup_type(const type
 extern	type_t	*expr_dup_type(const type_t *);
 extern	type_t	*expr_unqualified_type(const type_t *);
 extern	bool	is_incomplete(const type_t *);
-extern	void	setcomplete(type_t *, bool);
 extern	void	add_storage_class(scl_t);
 extern	void	add_type(type_t *);
 extern	void	add_qualifier(tqual_t);

Reply via email to