11.8Srillig/*	$NetBSD: msg_120.c,v 1.8 2025/09/14 11:14:00 rillig Exp $	*/
21.1Srillig# 3 "msg_120.c"
31.1Srillig
41.8Srillig// Test for message: bitwise '%s' on signed '%s' nonportable [120]
51.1Srillig
61.7Srillig/* lint1-extra-flags: -p -X 351 */
71.2Srillig
81.2Srilligint
91.2Srilligshr(int a, int b)
101.2Srillig{
111.8Srillig	/* expect+1: warning: bitwise '>>' on signed 'int' possibly nonportable [117] */
121.6Srillig	return a >> b;
131.2Srillig}
141.2Srillig
151.2Srilligint
161.2Srilligshr_lhs_constant_positive(int a)
171.2Srillig{
181.2Srillig	return 0x1234 >> a;
191.2Srillig}
201.2Srillig
211.2Srilligint
221.2Srilligshr_lhs_constant_negative(int a)
231.2Srillig{
241.8Srillig	/* expect+1: warning: bitwise '>>' on signed 'int' nonportable [120] */
251.6Srillig	return -0x1234 >> a;
261.2Srillig}
271.2Srillig
281.2Srilligint
291.2Srilligshr_rhs_constant_positive(int a)
301.2Srillig{
311.8Srillig	/* expect+2: warning: bitwise '>>' on signed 'int' possibly nonportable [117] */
321.6Srillig	/* expect+1: warning: shift amount 4660 is greater than bit-size 32 of 'int' [122] */
331.6Srillig	return a >> 0x1234;
341.2Srillig}
351.2Srillig
361.2Srilligint
371.2Srilligshr_rhs_constant_negative(int a)
381.2Srillig{
391.8Srillig	/* expect+2: warning: bitwise '>>' on signed 'int' possibly nonportable [117] */
401.6Srillig	/* expect+1: warning: negative shift [121] */
411.6Srillig	return a >> -0x1234;
421.2Srillig}
43