11.3Srillig/*	$NetBSD: lex_integer_binary.c,v 1.3 2023/03/28 14:44:34 rillig Exp $	*/
21.1Srillig# 3 "lex_integer_binary.c"
31.1Srillig
41.1Srillig/*
51.1Srillig * Test for parsing binary integer literals in non-GCC mode.
61.1Srillig * As of C11, binary integer literals are not supported.
71.1Srillig * Neither are underscores in integer literals.
81.1Srillig */
91.1Srillig
101.1Srillig/* Remove the default -g flag. */
111.3Srillig/* lint1-flags: -Ac11 -w -X 351 */
121.1Srillig
131.1Srilligvoid sink(unsigned int);
141.1Srillig
151.1Srilligvoid
161.1Srilligbinary_literal(void)
171.1Srillig{
181.1Srillig	/*
191.1Srillig	 * Binary integer literals are a GCC extension, but lint allows them
201.1Srillig	 * even in non-GCC mode.
211.1Srillig	 */
221.1Srillig	sink(0b1111000001011010);
231.1Srillig
241.1Srillig	/*
251.1Srillig	 * Even though it would be useful for binary literals, GCC does not
261.1Srillig	 * support underscores to separate the digit groups.
271.1Srillig	 */
281.2Srillig	/* expect+1: error: syntax error '_0000_0101_1010' [249] */
291.1Srillig	sink(0b1111_0000_0101_1010);
301.1Srillig}
31