lex_integer_binary.c revision 1.2
11.2Srillig/* $NetBSD: lex_integer_binary.c,v 1.2 2022/06/17 18:54:53 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.1Srillig/* lint1-flags: -Ac11 -w */ 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