xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_132_lp64.c (revision 5685e47f6f29ba1fd654aaf86baf90bc2b72a6b5)
1*5685e47fSrillig /*	$NetBSD: msg_132_lp64.c,v 1.3 2025/01/03 01:27:35 rillig Exp $	*/
2b511067dSrillig # 3 "msg_132_lp64.c"
3b511067dSrillig 
4b511067dSrillig // Test for message: conversion from '%s' to '%s' may lose accuracy [132]
5b511067dSrillig 
6e6298b92Srillig /* lint1-extra-flags: -a -X 351 */
7b511067dSrillig /* lint1-only-if: lp64 */
8b511067dSrillig 
9*5685e47fSrillig typedef unsigned int u32_t;
10*5685e47fSrillig 
11*5685e47fSrillig u32_t u32;
12*5685e47fSrillig const char *ptr;
13*5685e47fSrillig 
14b511067dSrillig unsigned int
15*5685e47fSrillig convert_pointer_to_smaller_integer(void)
16b511067dSrillig {
17b511067dSrillig 	/* expect+1: warning: conversion from 'unsigned long' to 'unsigned int' may lose accuracy [132] */
18b511067dSrillig 	return (unsigned long)(ptr) >> 12;
19b511067dSrillig }
20*5685e47fSrillig 
21*5685e47fSrillig void
22*5685e47fSrillig test_ic_minus(void)
23*5685e47fSrillig {
24*5685e47fSrillig 	/* expect+1: warning: conversion from 'long' to 'unsigned int' may lose accuracy [132] */
25*5685e47fSrillig 	u32 = ptr + 3 - ptr;
26*5685e47fSrillig }
27