/*	$NetBSD: msg_306.c,v 1.6 2025/02/20 21:53:28 rillig Exp $	*/
# 3 "msg_306.c"

// Test for message: constant %s truncated by conversion, op '%s' [306]

/* lint1-extra-flags: -X 351 */

signed char s8;
unsigned char u8;

void
msg_306(void)
{
	u8 = 0xff;
	/* expect+1: warning: constant truncated by assignment [165] */
	u8 = 0x100;

	u8 &= 0xff;
	/* expect+1: warning: constant 0x100 truncated by conversion, op '&=' [306] */
	u8 &= 0x100;
	/* XXX: Lint doesn't care about the expanded form of the same code. */
	u8 = u8 & 0x100;

	u8 |= 0xff;
	/* expect+1: warning: constant 0x100 truncated by conversion, op '|=' [306] */
	u8 |= 0x100;
	/* XXX: Lint doesn't care about the expanded form of the same code. */
	u8 = u8 | 0x100;

	s8 &= 0xff;
	/* expect+1: warning: constant 0x100 truncated by conversion, op '&=' [306] */
	s8 &= 0x100;
	/* XXX: Lint doesn't care about the expanded form of the same code. */
	s8 = s8 & 0x100;
	s8 |= 0xff;
	/* expect+1: warning: constant 0x100 truncated by conversion, op '|=' [306] */
	s8 |= 0x100;
	/* XXX: Lint doesn't care about the expanded form of the same code. */
	s8 = s8 | 0x100;
}