1 1.5 rillig /* $NetBSD: msg_267.c,v 1.5 2022/08/19 19:13:04 rillig Exp $ */ 2 1.1 rillig # 3 "msg_267.c" 3 1.1 rillig 4 1.1 rillig // Test for message: shift equal to size of object [267] 5 1.1 rillig 6 1.3 rillig int 7 1.3 rillig shr32(unsigned int x) 8 1.3 rillig { 9 1.4 rillig /* expect+1: warning: shift equal to size of object [267] */ 10 1.4 rillig return x >> 32; 11 1.3 rillig } 12 1.3 rillig 13 1.3 rillig int 14 1.3 rillig shl32(unsigned int x) 15 1.3 rillig { 16 1.4 rillig /* expect+1: warning: shift equal to size of object [267] */ 17 1.4 rillig return x << 32; 18 1.3 rillig } 19 1.5 rillig 20 1.5 rillig /* 21 1.5 rillig * As of 2022-08-19, lint ignores the GCC-specific 'mode' attribute, treating 22 1.5 rillig * the tetra-int as a plain single-int, thus having width 32. 23 1.5 rillig * 24 1.5 rillig * https://gcc.gnu.org/onlinedocs/gccint/Machine-Modes.html 25 1.5 rillig */ 26 1.5 rillig unsigned 27 1.5 rillig function(unsigned __attribute__((mode(TI))) arg) 28 1.5 rillig { 29 1.5 rillig /* XXX: The 'size' usually means the size in bytes, not in bits. */ 30 1.5 rillig /* expect+1: warning: shift equal to size of object [267] */ 31 1.5 rillig return (arg >> 32) & 3; 32 1.5 rillig } 33