Home | History | Annotate | Line # | Download | only in lint1
msg_306.c revision 1.5
      1  1.5  rillig /*	$NetBSD: msg_306.c,v 1.5 2023/07/07 19:45:22 rillig Exp $	*/
      2  1.1  rillig # 3 "msg_306.c"
      3  1.1  rillig 
      4  1.4  rillig // Test for message: constant truncated by conversion, op '%s' [306]
      5  1.1  rillig 
      6  1.5  rillig /* lint1-extra-flags: -X 351 */
      7  1.5  rillig 
      8  1.3  rillig unsigned char
      9  1.3  rillig to_u8(void)
     10  1.3  rillig {
     11  1.3  rillig 	/* expect+1: warning: conversion of 'int' to 'unsigned char' is out of range [119] */
     12  1.3  rillig 	return 12345;
     13  1.3  rillig }
     14  1.3  rillig 
     15  1.3  rillig unsigned char
     16  1.3  rillig and_u8(unsigned char a)
     17  1.3  rillig {
     18  1.3  rillig 	/* XXX: unused bits in constant */
     19  1.3  rillig 	return a & 0x1234;
     20  1.3  rillig }
     21  1.3  rillig 
     22  1.3  rillig unsigned char
     23  1.3  rillig or_u8(unsigned char a)
     24  1.3  rillig {
     25  1.4  rillig 	/* expect+1: warning: constant truncated by conversion, op '|=' [306] */
     26  1.3  rillig 	a |= 0x1234;
     27  1.3  rillig 
     28  1.3  rillig 	/* XXX: Lint doesn't care about the expanded form of the same code. */
     29  1.3  rillig 	a = a | 0x1234;
     30  1.3  rillig 
     31  1.3  rillig 	return a;
     32  1.3  rillig }
     33