lint: add test for bit-field initialisation in traditional C

This commit is contained in:
rillig 2021-02-21 14:49:23 +00:00
parent 4bbce6e96b
commit 0826316a44
2 changed files with 24 additions and 5 deletions

View File

@ -1,7 +1,19 @@
/* $NetBSD: msg_186.c,v 1.2 2021/02/21 09:07:58 rillig Exp $ */ /* $NetBSD: msg_186.c,v 1.3 2021/02/21 14:49:23 rillig Exp $ */
# 3 "msg_186.c" # 3 "msg_186.c"
// Test for message: bit-field initialisation is illegal in traditional C [186] /* Test for message: bit-field initialisation is illegal in traditional C [186] */
TODO: "Add example code that triggers the above message." /* expect: 249 */ /* lint1-flags: -tw */
TODO: "Add example code that almost triggers the above message."
struct bit_field {
unsigned one: 1;
unsigned three: 3;
unsigned two: 2;
};
struct bit_field bit_field = {
1,
3.0, /* expect: 186 */
2
};
/* XXX: The message is misleading. Initialisation using integers is ok. */

View File

@ -1 +1,8 @@
msg_186.c(6): syntax error ':' [249] (1): warning: 'long double' is illegal in traditional C [266]
(1): warning: function prototypes are illegal in traditional C [270]
(2): warning: 'long double' is illegal in traditional C [266]
(2): warning: function prototypes are illegal in traditional C [270]
(3): warning: 'long double' is illegal in traditional C [266]
(3): warning: 'long double' is illegal in traditional C [266]
(3): warning: function prototypes are illegal in traditional C [270]
msg_186.c(16): warning: bit-field initialisation is illegal in traditional C [186]