1 1.7 rillig /* $NetBSD: msg_222.c,v 1.7 2024/12/15 05:56:18 rillig Exp $ */ 2 1.1 rillig # 3 "msg_222.c" 3 1.1 rillig 4 1.6 rillig // Test for message: conversion of negative constant %lld to unsigned type '%s' [222] 5 1.1 rillig 6 1.5 rillig /* lint1-extra-flags: -X 351 */ 7 1.5 rillig 8 1.6 rillig /* expect+1: warning: initialization of unsigned type 'unsigned int' with negative constant -1 [221] */ 9 1.3 rillig unsigned int global = -1; 10 1.3 rillig 11 1.3 rillig void take_unsigned_int(unsigned int); 12 1.3 rillig 13 1.3 rillig void 14 1.7 rillig function(signed char *scp, unsigned char *ucp) 15 1.3 rillig { 16 1.6 rillig /* expect+1: warning: initialization of unsigned type 'unsigned int' with negative constant -1 [221] */ 17 1.3 rillig unsigned int local = -1; 18 1.3 rillig 19 1.6 rillig /* expect+1: warning: conversion of negative constant -1 to unsigned type 'unsigned int', arg #1 [296] */ 20 1.3 rillig take_unsigned_int(-1); 21 1.3 rillig 22 1.3 rillig if (local & -1) 23 1.3 rillig return; 24 1.3 rillig 25 1.4 rillig /* expect+1: warning: operator '<' compares 'unsigned int' with 'negative constant' [162] */ 26 1.3 rillig if (local < -1) 27 1.3 rillig return; 28 1.3 rillig 29 1.3 rillig local &= -1; 30 1.3 rillig 31 1.6 rillig /* expect+1: warning: conversion of negative constant -1 to unsigned type 'unsigned int' [222] */ 32 1.3 rillig local += -1; 33 1.7 rillig 34 1.7 rillig *scp += 'A' - 'a'; 35 1.7 rillig *scp -= 'A' - 'a'; 36 1.7 rillig 37 1.7 rillig // XXX: It's perfectly fine to effectively subtract a constant from 38 1.7 rillig // XXX: an unsigned type. 39 1.7 rillig /* expect+1: warning: conversion of negative constant -32 to unsigned type 'unsigned char' [222] */ 40 1.7 rillig *ucp += 'A' - 'a'; 41 1.7 rillig /* expect+1: warning: conversion of negative constant -32 to unsigned type 'unsigned char' [222] */ 42 1.7 rillig *ucp -= 'A' - 'a'; 43 1.3 rillig } 44