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