1 /* $NetBSD: lex_integer_binary.c,v 1.3 2023/03/28 14:44:34 rillig Exp $ */
2 # 3 "lex_integer_binary.c"
3
4 /*
5 * Test for parsing binary integer literals in non-GCC mode.
6 * As of C11, binary integer literals are not supported.
7 * Neither are underscores in integer literals.
8 */
9
10 /* Remove the default -g flag. */
11 /* lint1-flags: -Ac11 -w -X 351 */
12
13 void sink(unsigned int);
14
15 void
binary_literal(void)16 binary_literal(void)
17 {
18 /*
19 * Binary integer literals are a GCC extension, but lint allows them
20 * even in non-GCC mode.
21 */
22 sink(0b1111000001011010);
23
24 /*
25 * Even though it would be useful for binary literals, GCC does not
26 * support underscores to separate the digit groups.
27 */
28 /* expect+1: error: syntax error '_0000_0101_1010' [249] */
29 sink(0b1111_0000_0101_1010);
30 }
31