Sat Jan 2 16:33:39 2021 UTC ()
lint: allow _Bool for bit-fields


(rillig)
diff -r1.3 -r1.4 src/tests/usr.bin/xlint/lint1/msg_035.c
diff -r1.3 -r1.4 src/tests/usr.bin/xlint/lint1/msg_035.exp
diff -r1.98 -r1.99 src/usr.bin/xlint/lint1/decl.c

cvs diff -r1.3 -r1.4 src/tests/usr.bin/xlint/lint1/msg_035.c (expand / switch to context diff)
--- src/tests/usr.bin/xlint/lint1/msg_035.c 2021/01/02 16:12:39 1.3
+++ src/tests/usr.bin/xlint/lint1/msg_035.c 2021/01/02 16:33:39 1.4
@@ -1,4 +1,4 @@
-/*	$NetBSD: msg_035.c,v 1.3 2021/01/02 16:12:39 rillig Exp $	*/
+/*	$NetBSD: msg_035.c,v 1.4 2021/01/02 16:33:39 rillig Exp $	*/
 # 3 "msg_035.c"
 
 // Test for message: illegal bit-field type [35]
@@ -30,7 +30,7 @@
 struct example {
 	signed signed_flag: 1;
 	unsigned unsigned_flag: 1;
-	_Bool boolean_flag: 1;		// FIXME: allowed since C99 6.7.2.1p5
+	_Bool boolean_flag: 1;
 	char char_flag: 1;
 	signed char signed_char_flag: 1;
 	unsigned char unsigned_char_flag: 1;

cvs diff -r1.3 -r1.4 src/tests/usr.bin/xlint/lint1/Attic/msg_035.exp (expand / switch to context diff)
--- src/tests/usr.bin/xlint/lint1/Attic/msg_035.exp 2021/01/02 16:12:39 1.3
+++ src/tests/usr.bin/xlint/lint1/Attic/msg_035.exp 2021/01/02 16:33:39 1.4
@@ -1,4 +1,3 @@
-msg_035.c(33): warning: illegal bit-field type [35]
 msg_035.c(41): warning: illegal bit-field type [35]
 msg_035.c(42): warning: illegal bit-field type [35]
 msg_035.c(43): warning: illegal bit-field type [35]

cvs diff -r1.98 -r1.99 src/usr.bin/xlint/lint1/decl.c (expand / switch to context diff)
--- src/usr.bin/xlint/lint1/decl.c 2021/01/02 03:49:25 1.98
+++ src/usr.bin/xlint/lint1/decl.c 2021/01/02 16:33:39 1.99
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.98 2021/01/02 03:49:25 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.99 2021/01/02 16:33:39 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.98 2021/01/02 03:49:25 rillig Exp $");
+__RCSID("$NetBSD: decl.c,v 1.99 2021/01/02 16:33:39 rillig Exp $");
 #endif
 
 #include <sys/param.h>
@@ -1118,7 +1118,7 @@
 				/* nonportable bit-field type */
 				warning(34);
 			}
-		} else if (t != INT && t != UINT) {
+		} else if (t != INT && t != UINT && t != BOOL) {
 			/*
 			 * Non-integer types are always illegal for
 			 * bitfields, regardless of BITFIELDTYPE.