1 1.7 rillig /* $NetBSD: msg_010.c,v 1.7 2023/07/13 19:59:08 rillig Exp $ */ 2 1.1 rillig # 3 "msg_010.c" 3 1.1 rillig 4 1.1 rillig // Test for message: duplicate '%s' [10] 5 1.1 rillig 6 1.6 rillig /* lint1-extra-flags: -X 351 */ 7 1.6 rillig 8 1.5 rillig /* expect+1: warning: duplicate 'inline' [10] */ 9 1.5 rillig inline inline void 10 1.2 rillig double_inline(void) 11 1.2 rillig { 12 1.2 rillig } 13 1.2 rillig 14 1.5 rillig /* expect+1: warning: duplicate 'const' [10] */ 15 1.5 rillig const const int 16 1.2 rillig double_const(void) 17 1.2 rillig { 18 1.2 rillig return 0; 19 1.2 rillig } 20 1.2 rillig 21 1.5 rillig /* expect+1: warning: duplicate 'volatile' [10] */ 22 1.5 rillig volatile volatile int 23 1.2 rillig double_volatile(void) 24 1.2 rillig { 25 1.2 rillig return 0; 26 1.2 rillig } 27 1.3 rillig 28 1.3 rillig int 29 1.4 rillig restrict_pointer(const int *restrict p) 30 1.3 rillig { 31 1.3 rillig return *p; 32 1.3 rillig } 33 1.3 rillig 34 1.3 rillig _Thread_local int thread_local_int; 35 1.3 rillig _Thread_local int *pointer_to_thread_local; 36 1.3 rillig 37 1.7 rillig /* expect+2: error: only 'register' is valid as storage class in parameter [9] */ 38 1.3 rillig int 39 1.7 rillig thread_local_parameter(_Thread_local int i) 40 1.3 rillig { 41 1.3 rillig return i; 42 1.3 rillig } 43