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: in debug mode, print name of the "...
details: https://anonhg.NetBSD.org/src/rev/412f667bd437
branches: trunk
changeset: 379783:412f667bd437
user: rillig <rillig%NetBSD.org@localhost>
date: Sat Jun 19 14:08:45 2021 +0000
description:
lint: in debug mode, print name of the "storage class"
This helps in tracking down the internal errors related to declarations,
found by running afl.
diffstat:
usr.bin/xlint/lint1/decl.c | 10 +++++-----
usr.bin/xlint/lint1/externs1.h | 3 ++-
usr.bin/xlint/lint1/print.c | 18 ++++++++++++++++--
3 files changed, 23 insertions(+), 8 deletions(-)
diffs (91 lines):
diff -r 99c3203e107a -r 412f667bd437 usr.bin/xlint/lint1/decl.c
--- a/usr.bin/xlint/lint1/decl.c Sat Jun 19 13:56:34 2021 +0000
+++ b/usr.bin/xlint/lint1/decl.c Sat Jun 19 14:08:45 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.183 2021/06/19 11:01:23 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.184 2021/06/19 14:08:45 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.183 2021/06/19 11:01:23 rillig Exp $");
+__RCSID("$NetBSD: decl.c,v 1.184 2021/06/19 14:08:45 rillig Exp $");
#endif
#include <sys/param.h>
@@ -601,8 +601,7 @@ begin_declaration_level(scl_t sc)
di->d_ctx = sc;
di->d_ldlsym = &di->d_dlsyms;
if (dflag)
- (void)printf("%s(%p %d)\n", __func__, dcs, (int)sc);
-
+ (void)printf("%s(%p %s)\n", __func__, dcs, scl_name(sc));
}
/*
@@ -614,7 +613,8 @@ end_declaration_level(void)
dinfo_t *di;
if (dflag)
- (void)printf("%s(%p %d)\n", __func__, dcs, (int)dcs->d_ctx);
+ (void)printf("%s(%p %s)\n",
+ __func__, dcs, scl_name(dcs->d_ctx));
lint_assert(dcs->d_next != NULL);
di = dcs;
diff -r 99c3203e107a -r 412f667bd437 usr.bin/xlint/lint1/externs1.h
--- a/usr.bin/xlint/lint1/externs1.h Sat Jun 19 13:56:34 2021 +0000
+++ b/usr.bin/xlint/lint1/externs1.h Sat Jun 19 14:08:45 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: externs1.h,v 1.109 2021/06/15 20:46:45 rillig Exp $ */
+/* $NetBSD: externs1.h,v 1.110 2021/06/19 14:08:45 rillig Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -339,6 +339,7 @@ extern int lex_input(void);
* print.c
*/
extern char *print_tnode(char *, size_t, const tnode_t *);
+const char *scl_name(scl_t);
/*
* ckbool.c
diff -r 99c3203e107a -r 412f667bd437 usr.bin/xlint/lint1/print.c
--- a/usr.bin/xlint/lint1/print.c Sat Jun 19 13:56:34 2021 +0000
+++ b/usr.bin/xlint/lint1/print.c Sat Jun 19 14:08:45 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: print.c,v 1.11 2021/03/20 20:56:58 rillig Exp $ */
+/* $NetBSD: print.c,v 1.12 2021/06/19 14:08:45 rillig Exp $ */
/*-
* Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: print.c,v 1.11 2021/03/20 20:56:58 rillig Exp $");
+__RCSID("$NetBSD: print.c,v 1.12 2021/06/19 14:08:45 rillig Exp $");
#endif
#include <stdio.h>
@@ -87,3 +87,17 @@ print_tnode(char *buf, size_t bufsiz, co
}
return buf;
}
+
+/* Return the name of the "storage class" in the wider sense. */
+const char *
+scl_name(scl_t scl)
+{
+ static const char *const names[] = {
+ "none", "extern", "static", "auto", "register", "typedef",
+ "struct", "union", "enum", "member of struct", "member of union",
+ "compile-time constant", "abstract", "argument",
+ "prototype argument", "inline"
+ };
+
+ return names[scl];
+}
Home |
Main Index |
Thread Index |
Old Index