xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_010.c (revision fe2ba0d5e5a96017cc6b1de2da051573c02fb438)
1*fe2ba0d5Srillig /*	$NetBSD: msg_010.c,v 1.7 2023/07/13 19:59:08 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_010.c"
3a0a15c14Srillig 
4a0a15c14Srillig // Test for message: duplicate '%s' [10]
5a0a15c14Srillig 
6b2baa501Srillig /* lint1-extra-flags: -X 351 */
7b2baa501Srillig 
80d812cd9Srillig /* expect+1: warning: duplicate 'inline' [10] */
90d812cd9Srillig inline inline void
double_inline(void)10d8ecd506Srillig double_inline(void)
11d8ecd506Srillig {
12d8ecd506Srillig }
13d8ecd506Srillig 
140d812cd9Srillig /* expect+1: warning: duplicate 'const' [10] */
150d812cd9Srillig const const int
double_const(void)16d8ecd506Srillig double_const(void)
17d8ecd506Srillig {
18d8ecd506Srillig 	return 0;
19d8ecd506Srillig }
20d8ecd506Srillig 
210d812cd9Srillig /* expect+1: warning: duplicate 'volatile' [10] */
220d812cd9Srillig volatile volatile int
double_volatile(void)23d8ecd506Srillig double_volatile(void)
24d8ecd506Srillig {
25d8ecd506Srillig 	return 0;
26d8ecd506Srillig }
278981d6d0Srillig 
288981d6d0Srillig int
restrict_pointer(const int * restrict p)2917f1c77bSrillig restrict_pointer(const int *restrict p)
308981d6d0Srillig {
318981d6d0Srillig 	return *p;
328981d6d0Srillig }
338981d6d0Srillig 
348981d6d0Srillig _Thread_local int thread_local_int;
358981d6d0Srillig _Thread_local int *pointer_to_thread_local;
368981d6d0Srillig 
37*fe2ba0d5Srillig /* expect+2: error: only 'register' is valid as storage class in parameter [9] */
388981d6d0Srillig int
thread_local_parameter(_Thread_local int i)39*fe2ba0d5Srillig thread_local_parameter(_Thread_local int i)
408981d6d0Srillig {
418981d6d0Srillig 	return i;
428981d6d0Srillig }
43