Module Name: src Committed By: rillig Date: Sun Apr 18 17:36:18 UTC 2021
Modified Files: src/usr.bin/xlint/lint1: ckgetopt.c decl.c err.c externs1.h func.c Log Message: lint: pass pos_t via const pointer Thanks for the suggestion, christos@. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/usr.bin/xlint/lint1/ckgetopt.c cvs rdiff -u -r1.177 -r1.178 src/usr.bin/xlint/lint1/decl.c cvs rdiff -u -r1.115 -r1.116 src/usr.bin/xlint/lint1/err.c cvs rdiff -u -r1.107 -r1.108 src/usr.bin/xlint/lint1/externs1.h cvs rdiff -u -r1.104 -r1.105 src/usr.bin/xlint/lint1/func.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/ckgetopt.c diff -u src/usr.bin/xlint/lint1/ckgetopt.c:1.8 src/usr.bin/xlint/lint1/ckgetopt.c:1.9 --- src/usr.bin/xlint/lint1/ckgetopt.c:1.8 Sun Apr 18 08:53:35 2021 +++ src/usr.bin/xlint/lint1/ckgetopt.c Sun Apr 18 17:36:18 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: ckgetopt.c,v 1.8 2021/04/18 08:53:35 rillig Exp $ */ +/* $NetBSD: ckgetopt.c,v 1.9 2021/04/18 17:36:18 rillig Exp $ */ /*- * Copyright (c) 2021 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) && !defined(lint) -__RCSID("$NetBSD: ckgetopt.c,v 1.8 2021/04/18 08:53:35 rillig Exp $"); +__RCSID("$NetBSD: ckgetopt.c,v 1.9 2021/04/18 17:36:18 rillig Exp $"); #endif #include <stdbool.h> @@ -135,7 +135,7 @@ check_unhandled_option(void) continue; /* option '%c' should be handled in the switch */ - warning_at(338, ck.options_pos, *opt); + warning_at(338, &ck.options_pos, *opt); } } Index: src/usr.bin/xlint/lint1/decl.c diff -u src/usr.bin/xlint/lint1/decl.c:1.177 src/usr.bin/xlint/lint1/decl.c:1.178 --- src/usr.bin/xlint/lint1/decl.c:1.177 Sun Apr 18 09:37:18 2021 +++ src/usr.bin/xlint/lint1/decl.c Sun Apr 18 17:36:18 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: decl.c,v 1.177 2021/04/18 09:37:18 rillig Exp $ */ +/* $NetBSD: decl.c,v 1.178 2021/04/18 17:36:18 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.177 2021/04/18 09:37:18 rillig Exp $"); +__RCSID("$NetBSD: decl.c,v 1.178 2021/04/18 17:36:18 rillig Exp $"); #endif #include <sys/param.h> @@ -3033,7 +3033,7 @@ check_argument_usage(bool novar, sym_t * if (!arg->s_used && vflag) { /* argument '%s' unused in function '%s' */ - warning_at(231, arg->s_def_pos, arg->s_name, funcsym->s_name); + warning_at(231, &arg->s_def_pos, arg->s_name, funcsym->s_name); } } @@ -3065,17 +3065,17 @@ check_variable_usage(bool novar, sym_t * if (sc == EXTERN) { if (!sym->s_used && !sym->s_set) { /* '%s' unused in function '%s' */ - warning_at(192, sym->s_def_pos, + warning_at(192, &sym->s_def_pos, sym->s_name, funcsym->s_name); } } else { if (sym->s_set && !sym->s_used) { /* '%s' set but not used in function '%s' */ - warning_at(191, sym->s_set_pos, + warning_at(191, &sym->s_set_pos, sym->s_name, funcsym->s_name); } else if (!sym->s_used) { /* '%s' unused in function '%s' */ - warning_at(192, sym->s_def_pos, + warning_at(192, &sym->s_def_pos, sym->s_name, funcsym->s_name); } } @@ -3113,10 +3113,10 @@ check_label_usage(sym_t *lab) if (lab->s_set && !lab->s_used) { /* label %s unused in function %s */ - warning_at(232, lab->s_set_pos, lab->s_name, funcsym->s_name); + warning_at(232, &lab->s_set_pos, lab->s_name, funcsym->s_name); } else if (!lab->s_set) { /* undefined label %s */ - warning_at(23, lab->s_use_pos, lab->s_name); + warning_at(23, &lab->s_use_pos, lab->s_name); } } @@ -3134,15 +3134,15 @@ check_tag_usage(sym_t *sym) switch (sym->s_type->t_tspec) { case STRUCT: /* struct %s never defined */ - warning_at(233, sym->s_def_pos, sym->s_name); + warning_at(233, &sym->s_def_pos, sym->s_name); break; case UNION: /* union %s never defined */ - warning_at(234, sym->s_def_pos, sym->s_name); + warning_at(234, &sym->s_def_pos, sym->s_name); break; case ENUM: /* enum %s never defined */ - warning_at(235, sym->s_def_pos, sym->s_name); + warning_at(235, &sym->s_def_pos, sym->s_name); break; default: lint_assert(/*CONSTCOND*/false); @@ -3185,17 +3185,17 @@ check_unused_static_global_variable(cons if (sym->s_def == DEF) { if (!sym->s_inline) /* static function %s unused */ - warning_at(236, sym->s_def_pos, sym->s_name); + warning_at(236, &sym->s_def_pos, sym->s_name); } else { /* static function %s declared but not defined */ - warning_at(290, sym->s_def_pos, sym->s_name); + warning_at(290, &sym->s_def_pos, sym->s_name); } } else if (!sym->s_set) { /* static variable %s unused */ - warning_at(226, sym->s_def_pos, sym->s_name); + warning_at(226, &sym->s_def_pos, sym->s_name); } else { /* static variable %s set but not used */ - warning_at(307, sym->s_def_pos, sym->s_name); + warning_at(307, &sym->s_def_pos, sym->s_name); } } @@ -3204,7 +3204,7 @@ check_static_global_variable(const sym_t { if (sym->s_type->t_tspec == FUNC && sym->s_used && sym->s_def != DEF) { /* static function called but not defined: %s() */ - error_at(225, sym->s_use_pos, sym->s_name); + error_at(225, &sym->s_use_pos, sym->s_name); } if (!sym->s_used) @@ -3212,7 +3212,7 @@ check_static_global_variable(const sym_t if (!tflag && sym->s_def == TDEF && sym->s_type->t_const) { /* const object %s should have initializer */ - warning_at(227, sym->s_def_pos, sym->s_name); + warning_at(227, &sym->s_def_pos, sym->s_name); } } @@ -3258,10 +3258,10 @@ check_global_variable_size(const sym_t * sym->s_type->t_tspec == ARRAY && sym->s_type->t_dim == 0) { if (tflag || (sym->s_scl == EXTERN && !sflag)) { /* empty array declaration: %s */ - warning_at(190, sym->s_def_pos, sym->s_name); + warning_at(190, &sym->s_def_pos, sym->s_name); } else { /* empty array declaration: %s */ - error_at(190, sym->s_def_pos, sym->s_name); + error_at(190, &sym->s_def_pos, sym->s_name); } } } @@ -3277,13 +3277,13 @@ print_previous_declaration(int msg, cons return; if (msg != -1) { - (message_at)(msg, psym->s_def_pos); + (message_at)(msg, &psym->s_def_pos); } else if (psym->s_def == DEF || psym->s_def == TDEF) { /* previous definition of %s */ - message_at(261, psym->s_def_pos, psym->s_name); + message_at(261, &psym->s_def_pos, psym->s_name); } else { /* previous declaration of %s */ - message_at(260, psym->s_def_pos, psym->s_name); + message_at(260, &psym->s_def_pos, psym->s_name); } } Index: src/usr.bin/xlint/lint1/err.c diff -u src/usr.bin/xlint/lint1/err.c:1.115 src/usr.bin/xlint/lint1/err.c:1.116 --- src/usr.bin/xlint/lint1/err.c:1.115 Sun Apr 18 10:09:49 2021 +++ src/usr.bin/xlint/lint1/err.c Sun Apr 18 17:36:18 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: err.c,v 1.115 2021/04/18 10:09:49 rillig Exp $ */ +/* $NetBSD: err.c,v 1.116 2021/04/18 17:36:18 rillig Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -37,7 +37,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) && !defined(lint) -__RCSID("$NetBSD: err.c,v 1.115 2021/04/18 10:09:49 rillig Exp $"); +__RCSID("$NetBSD: err.c,v 1.116 2021/04/18 17:36:18 rillig Exp $"); #endif #include <sys/types.h> @@ -484,15 +484,15 @@ lbasename(const char *path) } static void -verror_at(int msgid, pos_t pos, va_list ap) +verror_at(int msgid, const pos_t *pos, va_list ap) { const char *fn; if (ERR_ISSET(msgid, &msgset)) return; - fn = lbasename(pos.p_file); - (void)printf("%s(%d): error: ", fn, pos.p_line); + fn = lbasename(pos->p_file); + (void)printf("%s(%d): error: ", fn, pos->p_line); (void)vprintf(msgs[msgid], ap); (void)printf(" [%d]\n", msgid); nerr++; @@ -500,7 +500,7 @@ verror_at(int msgid, pos_t pos, va_list } static void -vwarning_at(int msgid, pos_t pos, va_list ap) +vwarning_at(int msgid, const pos_t *pos, va_list ap) { const char *fn; @@ -514,8 +514,8 @@ vwarning_at(int msgid, pos_t pos, va_lis /* this warning is suppressed by a LINTED comment */ return; - fn = lbasename(pos.p_file); - (void)printf("%s(%d): warning: ", fn, pos.p_line); + fn = lbasename(pos->p_file); + (void)printf("%s(%d): warning: ", fn, pos->p_line); (void)vprintf(msgs[msgid], ap); (void)printf(" [%d]\n", msgid); if (wflag) @@ -524,22 +524,22 @@ vwarning_at(int msgid, pos_t pos, va_lis } static void -vmessage_at(int msgid, pos_t pos, va_list ap) +vmessage_at(int msgid, const pos_t *pos, va_list ap) { const char *fn; if (ERR_ISSET(msgid, &msgset)) return; - fn = lbasename(pos.p_file); - (void)printf("%s(%d): ", fn, pos.p_line); + fn = lbasename(pos->p_file); + (void)printf("%s(%d): ", fn, pos->p_line); (void)vprintf(msgs[msgid], ap); (void)printf(" [%d]\n", msgid); print_stack_trace(); } void -(error_at)(int msgid, pos_t pos, ...) +(error_at)(int msgid, const pos_t *pos, ...) { va_list ap; @@ -554,7 +554,7 @@ void va_list ap; va_start(ap, msgid); - verror_at(msgid, curr_pos, ap); + verror_at(msgid, &curr_pos, ap); va_end(ap); } @@ -589,7 +589,7 @@ assert_failed(const char *file, int line } void -(warning_at)(int msgid, pos_t pos, ...) +(warning_at)(int msgid, const pos_t *pos, ...) { va_list ap; @@ -604,12 +604,12 @@ void va_list ap; va_start(ap, msgid); - vwarning_at(msgid, curr_pos, ap); + vwarning_at(msgid, &curr_pos, ap); va_end(ap); } void -(message_at)(int msgid, pos_t pos, ...) +(message_at)(int msgid, const pos_t *pos, ...) { va_list ap; @@ -624,7 +624,7 @@ void va_list ap; va_start(ap, msgid); - vmessage_at(msgid, curr_pos, ap); + vmessage_at(msgid, &curr_pos, ap); va_end(ap); } @@ -642,9 +642,9 @@ void va_start(ap, msgid); if (sflag && !extensions_ok) { - verror_at(msgid, curr_pos, ap); + verror_at(msgid, &curr_pos, ap); } else if (sflag || !extensions_ok) { - vwarning_at(msgid, curr_pos, ap); + vwarning_at(msgid, &curr_pos, ap); } va_end(ap); } @@ -657,7 +657,7 @@ void if (c11flag || gflag) return; va_start(ap, msgid); - verror_at(msgid, curr_pos, ap); + verror_at(msgid, &curr_pos, ap); va_end(ap); } @@ -668,9 +668,9 @@ void va_start(ap, msgid); if (sflag && !gflag) { - verror_at(msgid, curr_pos, ap); + verror_at(msgid, &curr_pos, ap); } else if (sflag || !gflag) { - vwarning_at(msgid, curr_pos, ap); + vwarning_at(msgid, &curr_pos, ap); } va_end(ap); } Index: src/usr.bin/xlint/lint1/externs1.h diff -u src/usr.bin/xlint/lint1/externs1.h:1.107 src/usr.bin/xlint/lint1/externs1.h:1.108 --- src/usr.bin/xlint/lint1/externs1.h:1.107 Sun Apr 18 08:52:04 2021 +++ src/usr.bin/xlint/lint1/externs1.h Sun Apr 18 17:36:18 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: externs1.h,v 1.107 2021/04/18 08:52:04 rillig Exp $ */ +/* $NetBSD: externs1.h,v 1.108 2021/04/18 17:36:18 rillig Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -120,9 +120,9 @@ extern int sytxerr; extern const char *const msgs[]; extern void msglist(void); -extern void error_at(int, pos_t, ...); -extern void warning_at(int, pos_t, ...); -extern void message_at(int, pos_t, ...); +extern void error_at(int, const pos_t *, ...); +extern void warning_at(int, const pos_t *, ...); +extern void message_at(int, const pos_t *, ...); extern void error(int, ...); extern void warning(int, ...); extern void message(int, ...); Index: src/usr.bin/xlint/lint1/func.c diff -u src/usr.bin/xlint/lint1/func.c:1.104 src/usr.bin/xlint/lint1/func.c:1.105 --- src/usr.bin/xlint/lint1/func.c:1.104 Sun Apr 18 09:39:53 2021 +++ src/usr.bin/xlint/lint1/func.c Sun Apr 18 17:36:18 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: func.c,v 1.104 2021/04/18 09:39:53 rillig Exp $ */ +/* $NetBSD: func.c,v 1.105 2021/04/18 17:36:18 rillig Exp $ */ /* * Copyright (c) 1994, 1995 Jochen Pohl @@ -37,7 +37,7 @@ #include <sys/cdefs.h> #if defined(__RCSID) && !defined(lint) -__RCSID("$NetBSD: func.c,v 1.104 2021/04/18 09:39:53 rillig Exp $"); +__RCSID("$NetBSD: func.c,v 1.105 2021/04/18 17:36:18 rillig Exp $"); #endif #include <stdlib.h> @@ -1088,28 +1088,28 @@ global_clean_up_decl(bool silent) if (nargusg != -1) { if (!silent) { /* must precede function definition: ** %s ** */ - warning_at(282, argsused_pos, "ARGSUSED"); + warning_at(282, &argsused_pos, "ARGSUSED"); } nargusg = -1; } if (nvararg != -1) { if (!silent) { /* must precede function definition: ** %s ** */ - warning_at(282, vapos, "VARARGS"); + warning_at(282, &vapos, "VARARGS"); } nvararg = -1; } if (printflike_argnum != -1) { if (!silent) { /* must precede function definition: ** %s ** */ - warning_at(282, printflike_pos, "PRINTFLIKE"); + warning_at(282, &printflike_pos, "PRINTFLIKE"); } printflike_argnum = -1; } if (scanflike_argnum != -1) { if (!silent) { /* must precede function definition: ** %s ** */ - warning_at(282, scanflike_pos, "SCANFLIKE"); + warning_at(282, &scanflike_pos, "SCANFLIKE"); } scanflike_argnum = -1; }