1 1.3 rillig /* $NetBSD: msg_167.c,v 1.3 2021/01/31 11:12:07 rillig Exp $ */ 2 1.1 rillig # 3 "msg_167.c" 3 1.1 rillig 4 1.1 rillig // Test for message: array subscript cannot be negative: %ld [167] 5 1.1 rillig 6 1.2 rillig void 7 1.2 rillig example(int *ptr) 8 1.2 rillig { 9 1.2 rillig int arr[6]; 10 1.2 rillig 11 1.3 rillig arr[-3] = 13; /* expect: 167 */ 12 1.2 rillig 13 1.2 rillig /* 14 1.2 rillig * Since the pointer may have been initialized with "arr + 3", 15 1.2 rillig * subtracting from its address is allowed. 16 1.2 rillig */ 17 1.2 rillig ptr[-3] = 13; 18 1.2 rillig } 19