Module Name: src Committed By: rillig Date: Fri Jan 15 23:15:28 UTC 2021
Modified Files: src/tests/usr.bin/xlint/lint1: d_c99_bool_strict.c d_c99_bool_strict.exp Log Message: lint: add test for bool bit fields as operands of '|' To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.c cvs rdiff -u -r1.5 -r1.6 src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.exp 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_c99_bool_strict.c diff -u src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.c:1.6 src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.c:1.7 --- src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.c:1.6 Fri Jan 15 22:07:54 2021 +++ src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.c Fri Jan 15 23:15:28 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: d_c99_bool_strict.c,v 1.6 2021/01/15 22:07:54 rillig Exp $ */ +/* $NetBSD: d_c99_bool_strict.c,v 1.7 2021/01/15 23:15:28 rillig Exp $ */ # 3 "d_c99_bool_strict.c" /* @@ -529,3 +529,17 @@ SB003_operand_comma(bool b, int i) i = (i, i + 1); return b; } + +void +bit_field_as_operator_argument(void) +{ + struct s { + bool ordinary; + bool bit_field: 1; + }; + + struct s s = { 0 }; + + s.ordinary = s.ordinary | s.ordinary; + s.bit_field = s.bit_field | s.bit_field; /* FIXME *//* expect: 107 */ +} Index: src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.exp diff -u src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.exp:1.5 src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.exp:1.6 --- src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.exp:1.5 Fri Jan 15 22:07:54 2021 +++ src/tests/usr.bin/xlint/lint1/d_c99_bool_strict.exp Fri Jan 15 23:15:28 2021 @@ -101,3 +101,4 @@ d_c99_bool_strict.c(453): warning: illeg d_c99_bool_strict.c(456): argument #1 expects '_Bool', gets passed 'pointer' [334] d_c99_bool_strict.c(456): warning: illegal combination of integer (int) and pointer (pointer to const char), arg #2 [154] d_c99_bool_strict.c(468): argument #1 expects '_Bool', gets passed 'int' [334] +d_c99_bool_strict.c(544): operands of '=' have incompatible types (_Bool != int) [107]