xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_352.c (revision 9e211f359920a7b95ff05505ca6ee27fa088acb5)
1 /*	$NetBSD: msg_352.c,v 1.3 2024/03/01 17:22:55 rillig Exp $	*/
2 # 3 "msg_352.c"
3 
4 // Test for message: nested 'extern' declaration of '%s' [352]
5 
6 /*
7  * C allows to declare external functions or objects inside function bodies,
8  * which invites inconsistent types.
9  *
10  * Instead, any external functions or objects should be declared in headers.
11  */
12 
13 /* lint1-extra-flags: -X 351 */
14 
15 int
function(void)16 function(void)
17 {
18 	/* expect+1: warning: nested 'extern' declaration of 'external_func' [352] */
19 	extern int external_func(void);
20 	/* expect+1: warning: nested 'extern' declaration of 'external_var' [352] */
21 	extern int external_var;
22 
23 	return external_func() + external_var;
24 }
25