xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_056.c (revision a623cf0b61440d709d496b4325d530e07f25fb94)
1*a623cf0bSrillig /*	$NetBSD: msg_056.c,v 1.7 2024/11/20 23:01:52 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_056.c"
3a0a15c14Srillig 
439145755Srillig // Test for message: constant %s too large for 'int' [56]
5a0a15c14Srillig 
639145755Srillig /* lint1-extra-flags: -h */
739145755Srillig 
839145755Srillig enum {
939145755Srillig 	S31_MAX = 0x7FFFFFFF,
1039145755Srillig 	U31_MAX = 0x7FFFFFFFU,
1139145755Srillig 
1239145755Srillig 	// The hexadecimal constant has type 'int', since it fits.
1339145755Srillig 	/* expect+1: warning: '2147483647 + 1' overflows 'int' [141] */
1439145755Srillig 	S31_MAX_PLUS_1 = 0x7FFFFFFF + 1,
1539145755Srillig 
1639145755Srillig 	/* expect+1: warning: constant 0x80000000 too large for 'int' [56] */
1739145755Srillig 	U31_MAX_PLUS_1 = 0x7FFFFFFFU + 1,
1839145755Srillig 
1939145755Srillig 
2039145755Srillig 	/* expect+1: warning: constant 0xffffffff too large for 'int' [56] */
2139145755Srillig 	U32_MAX = 0xFFFFFFFF,
2239145755Srillig 
23b6d0f913Srillig 	/* expect+2: warning: '9223372036854775807 + 1' overflows 'long long' [141] */
2439145755Srillig 	/* expect+1: warning: constant 0x7fffffffffffffff too large for 'int' [56] */
25b6d0f913Srillig 	S63_MAX_PLUS_1 = 0x7FFFFFFFFFFFFFFFLL + 1,
2639145755Srillig 
2739145755Srillig 	/* expect+1: warning: constant -0x8000000000000000 too large for 'int' [56] */
2839145755Srillig 	S63_MIN = -0x7FFFFFFFFFFFFFFF - 1,
2939145755Srillig 
3039145755Srillig 	/* expect+1: warning: constant 0x7fffffffffffffff too large for 'int' [56] */
31*a623cf0bSrillig 	S63_MAX = 0x7FFFFFFFFFFFFFFF,
32*a623cf0bSrillig 
33*a623cf0bSrillig 	/* expect+1: warning: constant 0x7fffffffffffffff too large for 'int' [56] */
34*a623cf0bSrillig 	U63_MAX = 0x7FFFFFFFFFFFFFFFU,
35*a623cf0bSrillig 
36*a623cf0bSrillig 	/* expect+1: warning: constant 0x8000000000000000 too large for 'int' [56] */
37*a623cf0bSrillig 	U63_MAX_PLUS_1 = 0x8000000000000000U,
3839145755Srillig 
3939145755Srillig 	/* expect+1: warning: constant 0xffffffffffffffff too large for 'int' [56] */
4039145755Srillig 	U64_MAX = 0xFFFFFFFFFFFFFFFF,
4139145755Srillig 
4239145755Srillig 	/* expect+2: warning: integer constant out of range [252] */
4339145755Srillig 	/* expect+1: warning: constant 0xffffffffffffffff too large for 'int' [56] */
4439145755Srillig 	U80_MAX = 0xFFFFFFFFFFFFFFFFFFFF,
45aba9ec72Srillig };
46