1*c6466ed0Srillig /* $NetBSD: msg_167.c,v 1.7 2024/03/30 16:47:45 rillig Exp $ */ 2a0a15c14Srillig # 3 "msg_167.c" 3a0a15c14Srillig 4*c6466ed0Srillig // Test for message: array subscript %jd cannot be negative [167] 5a0a15c14Srillig 6e6298b92Srillig /* lint1-extra-flags: -X 351 */ 7e6298b92Srillig 8af03d2a0Srillig void example(int * ptr)9af03d2a0Srilligexample(int *ptr) 10af03d2a0Srillig { 11af03d2a0Srillig int arr[6]; 12af03d2a0Srillig 13*c6466ed0Srillig /* expect+1: warning: array subscript -3 cannot be negative [167] */ 1465e5c21bSrillig arr[-3] = 13; 15af03d2a0Srillig 16af03d2a0Srillig /* 17af03d2a0Srillig * Since the pointer may have been initialized with "arr + 3", 18af03d2a0Srillig * subtracting from its address is allowed. 19af03d2a0Srillig */ 20af03d2a0Srillig ptr[-3] = 13; 21af03d2a0Srillig } 22