msg_298.c revision 1.7.2.1 1 /* $NetBSD: msg_298.c,v 1.7.2.1 2025/08/02 05:58:18 perseant 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 void take_int(int);
12
13 void
14 convert_bit_and(long l)
15 {
16 /* expect+1: warning: conversion from 'long' to 'unsigned char' may lose accuracy, arg #1 [298] */
17 take_uchar(l);
18 take_uchar(l & 0xFF);
19 /* expect+1: warning: conversion from 'long' to 'unsigned char' may lose accuracy, arg #1 [298] */
20 take_uchar(l & 0x100);
21 /* expect+1: warning: conversion from 'long' to 'signed char' may lose accuracy, arg #1 [298] */
22 take_schar(l & 0xFF);
23 take_schar(l & 0x7F);
24 }
25
26 void
27 convert_mult(long long ll)
28 {
29 /* expect+1: warning: conversion from 'long long' to 'int' may lose accuracy, arg #1 [298] */
30 take_int(ll * 2);
31 }
32
33 // For lossy floating-to-integer conversions, see messages 380 and 381.
34