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 C99 mode, make implicit functio...



details:   https://anonhg.NetBSD.org/src/rev/c5db00b849e5
branches:  trunk
changeset: 985534:c5db00b849e5
user:      rillig <rillig%NetBSD.org@localhost>
date:      Sun Aug 29 17:01:27 2021 +0000

description:
lint: in C99 mode, make implicit function declarations an error

In tree.c 1.294 from 2021-06-28, I had already tried this, but at that
time, there were too many implicit function definitions in the NetBSD
tree.  Most of them were GCC builtins, which lint did not recognize.
Therefore I had to revert to a warning in tree.c 1.302 from 2021-06-30.

In the meantime, lint has learnt to recognize compiler builtins, see
is_compiler_builtin, so try again now.  The build logs from x86_64,
i386, sparc and sparc64 show no more implicit function declarations.

diffstat:

 tests/usr.bin/xlint/lint1/msg_155.exp |  2 +-
 tests/usr.bin/xlint/lint1/msg_215.c   |  4 ++--
 tests/usr.bin/xlint/lint1/msg_215.exp |  2 +-
 usr.bin/xlint/lint1/tree.c            |  6 +++---
 4 files changed, 7 insertions(+), 7 deletions(-)

diffs (66 lines):

diff -r fe695e3bc7d7 -r c5db00b849e5 tests/usr.bin/xlint/lint1/msg_155.exp
--- a/tests/usr.bin/xlint/lint1/msg_155.exp     Sun Aug 29 16:44:16 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/msg_155.exp     Sun Aug 29 17:01:27 2021 +0000
@@ -3,7 +3,7 @@
 msg_155.c(32): warning: passing 'struct incompatible' to incompatible 'pointer to pointer to int', arg #1 [155]
 msg_155.c(35): warning: passing 'struct incompatible' to incompatible 'pointer to array[3] of int', arg #1 [155]
 msg_155.c(38): warning: passing 'struct incompatible' to incompatible 'pointer to array[unknown_size] of int', arg #1 [155]
-msg_155.c(42): warning: function 'c99_6_7_6_example_f' implicitly declared to return int [215]
+msg_155.c(42): error: function 'c99_6_7_6_example_f' implicitly declared to return int [215]
 msg_155.c(45): warning: passing 'struct incompatible' to incompatible 'pointer to function(void) returning int', arg #1 [155]
 msg_155.c(48): warning: passing 'struct incompatible' to incompatible 'pointer to const pointer to function(unsigned int, ...) returning int', arg #1 [155]
 msg_155.c(69): warning: passing 'enum Day' to incompatible 'struct incompatible', arg #1 [155]
diff -r fe695e3bc7d7 -r c5db00b849e5 tests/usr.bin/xlint/lint1/msg_215.c
--- a/tests/usr.bin/xlint/lint1/msg_215.c       Sun Aug 29 16:44:16 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/msg_215.c       Sun Aug 29 17:01:27 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: msg_215.c,v 1.10 2021/08/29 15:49:04 rillig Exp $      */
+/*     $NetBSD: msg_215.c,v 1.11 2021/08/29 17:01:27 rillig Exp $      */
 # 3 "msg_215.c"
 
 // Test for message: function '%s' implicitly declared to return int [215]
@@ -17,7 +17,7 @@
 void
 test(struct str str, const double *p_double)
 {
-       /* expect+1: warning: function 'name' implicitly declared to return int [215] */
+       /* expect+1: error: function 'name' implicitly declared to return int [215] */
        name();
 
        /* expect+2: error: 'parenthesized' undefined [99] */
diff -r fe695e3bc7d7 -r c5db00b849e5 tests/usr.bin/xlint/lint1/msg_215.exp
--- a/tests/usr.bin/xlint/lint1/msg_215.exp     Sun Aug 29 16:44:16 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/msg_215.exp     Sun Aug 29 17:01:27 2021 +0000
@@ -1,4 +1,4 @@
-msg_215.c(21): warning: function 'name' implicitly declared to return int [215]
+msg_215.c(21): error: function 'name' implicitly declared to return int [215]
 msg_215.c(25): error: 'parenthesized' undefined [99]
 msg_215.c(25): error: illegal function (type int) [149]
 msg_215.c(29): error: type 'struct str' does not have member 'member' [101]
diff -r fe695e3bc7d7 -r c5db00b849e5 usr.bin/xlint/lint1/tree.c
--- a/usr.bin/xlint/lint1/tree.c        Sun Aug 29 16:44:16 2021 +0000
+++ b/usr.bin/xlint/lint1/tree.c        Sun Aug 29 17:01:27 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: tree.c,v 1.362 2021/08/29 16:17:08 rillig Exp $        */
+/*     $NetBSD: tree.c,v 1.363 2021/08/29 17:01:27 rillig Exp $        */
 
 /*
  * Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: tree.c,v 1.362 2021/08/29 16:17:08 rillig Exp $");
+__RCSID("$NetBSD: tree.c,v 1.363 2021/08/29 17:01:27 rillig Exp $");
 #endif
 
 #include <float.h>
@@ -236,7 +236,7 @@
                                 */
                        } else if (Sflag) {
                                /* function '%s' implicitly declared to ... */
-                               warning(215, sym->s_name);
+                               error(215, sym->s_name);
                        } else if (sflag) {
                                /* function '%s' implicitly declared to ... */
                                warning(215, sym->s_name);



Home | Main Index | Thread Index | Old Index