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