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/b1faac4d9f8b
branches:  trunk
changeset: 1023210:b1faac4d9f8b
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 38db46cc6d3c -r b1faac4d9f8b 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 38db46cc6d3c -r b1faac4d9f8b 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 38db46cc6d3c -r b1faac4d9f8b 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 38db46cc6d3c -r b1faac4d9f8b 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