Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/xlint/lint1 lint: extract brace_level_next_member fr...
details: https://anonhg.NetBSD.org/src/rev/25c7f589a4b0
branches: trunk
changeset: 1019999:25c7f589a4b0
user: rillig <rillig%NetBSD.org@localhost>
date: Sat Mar 27 23:18:37 2021 +0000
description:
lint: extract brace_level_next_member from initstack_pop_item_unnamed
No functional change.
diffstat:
usr.bin/xlint/lint1/init.c | 31 +++++++++++++++++++------------
1 files changed, 19 insertions(+), 12 deletions(-)
diffs (66 lines):
diff -r 42cd384c41c5 -r 25c7f589a4b0 usr.bin/xlint/lint1/init.c
--- a/usr.bin/xlint/lint1/init.c Sat Mar 27 23:13:48 2021 +0000
+++ b/usr.bin/xlint/lint1/init.c Sat Mar 27 23:18:37 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: init.c,v 1.143 2021/03/27 22:53:10 rillig Exp $ */
+/* $NetBSD: init.c,v 1.144 2021/03/27 23:18:37 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: init.c,v 1.143 2021/03/27 22:53:10 rillig Exp $");
+__RCSID("$NetBSD: init.c,v 1.144 2021/03/27 23:18:37 rillig Exp $");
#endif
#include <stdlib.h>
@@ -559,6 +559,21 @@
debug_brace_level(brace_level_rvalue);
}
+static void
+brace_level_next_member(struct brace_level *level)
+{
+ const sym_t *m;
+
+ do {
+ m = level->bl_next_member = level->bl_next_member->s_next;
+ /* XXX: can this assertion be made to fail? */
+ lint_assert(m != NULL);
+ } while (m->s_bitfield && m->s_name == unnamed);
+
+ debug_indent();
+ debug_brace_level(level);
+}
+
/*
* A sub-object of an array is initialized using a designator. This does not
* have to be an array element directly, it can also be used to initialize
@@ -695,7 +710,6 @@
initstack_pop_item_unnamed(void)
{
struct brace_level *level = brace_level_lvalue;
- sym_t *m;
/*
* If the removed element was a structure member, we must go
@@ -703,15 +717,8 @@
*/
if (level->bl_remaining > 0 && level->bl_type->t_tspec == STRUCT &&
!level->bl_seen_named_member) {
- do {
- m = level->bl_next_member =
- level->bl_next_member->s_next;
- /* XXX: can this assertion be made to fail? */
- lint_assert(m != NULL);
- debug_step("pop %s", m->s_name);
- } while (m->s_bitfield && m->s_name == unnamed);
- /* XXX: duplicate code for skipping unnamed bit-fields */
- level->bl_subtype = m->s_type;
+ brace_level_next_member(level);
+ level->bl_subtype = level->bl_next_member->s_type;
}
}
Home |
Main Index |
Thread Index |
Old Index