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