Module Name: src
Committed By: rillig
Date: Sat Mar 30 19:51:00 UTC 2024
Modified Files:
src/usr.bin/xlint/lint1: decl.c
Log Message:
lint: document which fields are not reset when starting a new type
Setting all visible fields to their null value seemed as if the whole
object were reset.
To generate a diff of this commit:
cvs rdiff -u -r1.397 -r1.398 src/usr.bin/xlint/lint1/decl.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.397 src/usr.bin/xlint/lint1/decl.c:1.398
--- src/usr.bin/xlint/lint1/decl.c:1.397 Fri Mar 29 08:35:32 2024
+++ src/usr.bin/xlint/lint1/decl.c Sat Mar 30 19:51:00 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.397 2024/03/29 08:35:32 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.398 2024/03/30 19:51:00 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.397 2024/03/29 08:35:32 rillig Exp $");
+__RCSID("$NetBSD: decl.c,v 1.398 2024/03/30 19:51:00 rillig Exp $");
#endif
#include <sys/param.h>
@@ -589,6 +589,8 @@ dcs_begin_type(void)
{
debug_enter();
+
+ // keep d_kind
dcs->d_abstract_type = NO_TSPEC;
dcs->d_complex_mod = NO_TSPEC;
dcs->d_sign_mod = NO_TSPEC;
@@ -596,17 +598,24 @@ dcs_begin_type(void)
dcs->d_scl = NO_SCL;
dcs->d_type = NULL;
dcs->d_redeclared_symbol = NULL;
+ // keep d_sou_size_in_bits
+ // keep d_sou_align_in_bits
dcs->d_qual = (type_qualifiers) { .tq_const = false };
dcs->d_inline = false;
dcs->d_multiple_storage_classes = false;
dcs->d_invalid_type_combination = false;
dcs->d_nonempty_decl = false;
dcs->d_no_type_specifier = false;
+ // keep d_asm
dcs->d_packed = false;
dcs->d_used = false;
+ // keep d_tag_type
dcs->d_func_params = NULL;
dcs->d_func_def_pos = (pos_t){ NULL, 0, 0 };
+ // keep d_first_dlsym
+ // keep d_last_dlsym
dcs->d_func_proto_syms = NULL;
+ // keep d_enclosing
}
static void