xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_298.c (revision 0f4cfb3194727ca0b8e46faf51c9e2ed182e51ed)
1 /*	$NetBSD: msg_298.c,v 1.7 2024/06/09 10:27:39 rillig Exp $	*/
2 # 3 "msg_298.c"
3 
4 // Test for message: conversion from '%s' to '%s' may lose accuracy, arg #%d [298]
5 
6 /* lint1-extra-flags: -a -X 351 */
7 
8 void take_uchar(unsigned char);
9 void take_schar(signed char);
10 void take_uint(unsigned int);
11 
12 void
convert_bit_and(long l)13 convert_bit_and(long l)
14 {
15 	/* expect+1: warning: conversion from 'long' to 'unsigned char' may lose accuracy, arg #1 [298] */
16 	take_uchar(l);
17 	take_uchar(l & 0xFF);
18 	/* expect+1: warning: conversion from 'long' to 'unsigned char' may lose accuracy, arg #1 [298] */
19 	take_uchar(l & 0x100);
20 	/* expect+1: warning: conversion from 'long' to 'signed char' may lose accuracy, arg #1 [298] */
21 	take_schar(l & 0xFF);
22 	take_schar(l & 0x7F);
23 }
24 
25 // For lossy floating-to-integer conversions, see messages 380 and 381.
26