Module Name:    src
Committed By:   rillig
Date:           Tue Mar 23 22:58:08 UTC 2021

Modified Files:
        src/tests/usr.bin/xlint/lint1: d_init_array_using_string.c
            d_init_array_using_string.exp
        src/usr.bin/xlint/lint1: init.c

Log Message:
lint: fix wrong warning about initialization using string literal

Missing braces after 'if', since init.c 1.68 from 2021-02-20.

GCC 10 doesn't complain about this even with -Wmisleading-indentation
since at least one of the involved lines is a macro invocation (in this
case both lines).  GCC 11 will warn about this.

Clang warns about this, but the regular Clang build currently fails for
other reasons, so this problem didn't show up there either.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
    src/tests/usr.bin/xlint/lint1/d_init_array_using_string.c \
    src/tests/usr.bin/xlint/lint1/d_init_array_using_string.exp
cvs rdiff -u -r1.114 -r1.115 src/usr.bin/xlint/lint1/init.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/usr.bin/xlint/lint1/d_init_array_using_string.c
diff -u src/tests/usr.bin/xlint/lint1/d_init_array_using_string.c:1.1 src/tests/usr.bin/xlint/lint1/d_init_array_using_string.c:1.2
--- src/tests/usr.bin/xlint/lint1/d_init_array_using_string.c:1.1	Tue Mar 23 21:19:08 2021
+++ src/tests/usr.bin/xlint/lint1/d_init_array_using_string.c	Tue Mar 23 22:58:08 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: d_init_array_using_string.c,v 1.1 2021/03/23 21:19:08 rillig Exp $	*/
+/*	$NetBSD: d_init_array_using_string.c,v 1.2 2021/03/23 22:58:08 rillig Exp $	*/
 # 3 "d_init_array_using_string.c"
 
 /*
@@ -71,7 +71,7 @@ test_array_initialization_in_struct(void
 	};
 
 	struct cs_ws extra_braces = {
-		{ "" },		/* expect: illegal combination *//*FIXME*/
-		{ L"" },	/* expect: illegal combination *//*FIXME*/
+		{ "" },
+		{ L"" },
 	};
 }
Index: src/tests/usr.bin/xlint/lint1/d_init_array_using_string.exp
diff -u src/tests/usr.bin/xlint/lint1/d_init_array_using_string.exp:1.1 src/tests/usr.bin/xlint/lint1/d_init_array_using_string.exp:1.2
--- src/tests/usr.bin/xlint/lint1/d_init_array_using_string.exp:1.1	Tue Mar 23 21:19:08 2021
+++ src/tests/usr.bin/xlint/lint1/d_init_array_using_string.exp	Tue Mar 23 22:58:08 2021
@@ -6,5 +6,3 @@ d_init_array_using_string.c(59): warning
 d_init_array_using_string.c(60): warning: illegal combination of integer (char) and pointer (pointer to char) [183]
 d_init_array_using_string.c(69): warning: non-null byte ignored in string initializer [187]
 d_init_array_using_string.c(70): warning: non-null byte ignored in string initializer [187]
-d_init_array_using_string.c(74): warning: illegal combination of integer (char) and pointer (pointer to char) [183]
-d_init_array_using_string.c(75): warning: illegal combination of integer (int) and pointer (pointer to int) [183]

Index: src/usr.bin/xlint/lint1/init.c
diff -u src/usr.bin/xlint/lint1/init.c:1.114 src/usr.bin/xlint/lint1/init.c:1.115
--- src/usr.bin/xlint/lint1/init.c:1.114	Tue Mar 23 20:21:07 2021
+++ src/usr.bin/xlint/lint1/init.c	Tue Mar 23 22:58:08 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: init.c,v 1.114 2021/03/23 20:21:07 rillig Exp $	*/
+/*	$NetBSD: init.c,v 1.115 2021/03/23 22:58:08 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.114 2021/03/23 20:21:07 rillig Exp $");
+__RCSID("$NetBSD: init.c,v 1.115 2021/03/23 22:58:08 rillig Exp $");
 #endif
 
 #include <stdlib.h>
@@ -1128,9 +1128,10 @@ init_array_using_string(tnode_t *tn)
 		 * If the array is already partly initialized, we are
 		 * wrong here.
 		 */
-		if (istk->i_remaining != istk->i_type->t_dim)
+		if (istk->i_remaining != istk->i_type->t_dim) {
 			debug_leave();
 			return false;
+		}
 	} else {
 		debug_leave();
 		return false;

Reply via email to