1*b2baa501Srillig /* $NetBSD: lex_integer_binary.c,v 1.3 2023/03/28 14:44:34 rillig Exp $ */ 274ecc892Srillig # 3 "lex_integer_binary.c" 374ecc892Srillig 474ecc892Srillig /* 574ecc892Srillig * Test for parsing binary integer literals in non-GCC mode. 674ecc892Srillig * As of C11, binary integer literals are not supported. 774ecc892Srillig * Neither are underscores in integer literals. 874ecc892Srillig */ 974ecc892Srillig 1074ecc892Srillig /* Remove the default -g flag. */ 11*b2baa501Srillig /* lint1-flags: -Ac11 -w -X 351 */ 1274ecc892Srillig 1374ecc892Srillig void sink(unsigned int); 1474ecc892Srillig 1574ecc892Srillig void binary_literal(void)1674ecc892Srilligbinary_literal(void) 1774ecc892Srillig { 1874ecc892Srillig /* 1974ecc892Srillig * Binary integer literals are a GCC extension, but lint allows them 2074ecc892Srillig * even in non-GCC mode. 2174ecc892Srillig */ 2274ecc892Srillig sink(0b1111000001011010); 2374ecc892Srillig 2474ecc892Srillig /* 2574ecc892Srillig * Even though it would be useful for binary literals, GCC does not 2674ecc892Srillig * support underscores to separate the digit groups. 2774ecc892Srillig */ 28c83f7defSrillig /* expect+1: error: syntax error '_0000_0101_1010' [249] */ 2974ecc892Srillig sink(0b1111_0000_0101_1010); 3074ecc892Srillig } 31