1 /* $NetBSD: msg_298.c,v 1.8 2025/02/27 23:46:30 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 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