1*3d6a5025Srillig /* $NetBSD: msg_022.c,v 1.8 2025/01/03 03:14:47 rillig Exp $ */ 2a0a15c14Srillig # 3 "msg_022.c" 3a0a15c14Srillig 4a0a15c14Srillig // Test for message: incomplete or misplaced function definition [22] 5a0a15c14Srillig 6b2baa501Srillig /* lint1-extra-flags: -X 351 */ 7b2baa501Srillig 8953cc117Srillig /* 9953cc117Srillig * Before decl.c 1.264 and func.c 1.130 from 2022-04-02, lint ran into 10953cc117Srillig * assertion failures after trying to recover from the below syntax error. 11953cc117Srillig */ 12953cc117Srillig /* expect+1: error: syntax error 'f' [249] */ 13953cc117Srillig unsigned long asdf = sizeof(int f() {}); 14953cc117Srillig 15953cc117Srillig /* Give the parser a chance to recover. */ 16953cc117Srillig /* expect+1: warning: empty declaration [0] */ 17953cc117Srillig ; 18953cc117Srillig 19953cc117Srillig /* 20953cc117Srillig * Before decl.c 1.264 and func.c 1.130 from 2022-04-02, lint ran into 21953cc117Srillig * assertion failures after trying to recover from the below syntax error. 22953cc117Srillig */ 23953cc117Srillig /* expect+1: error: syntax error 'param1' [249] */ 24953cc117Srillig unsigned long sz = sizeof(int(param1, param2)); 25953cc117Srillig 26953cc117Srillig /* Give the parser a chance to recover. */ 27953cc117Srillig /* expect+1: warning: empty declaration [0] */ 28953cc117Srillig ; 29953cc117Srillig 30*3d6a5025Srillig /* expect+3: warning: function definition for 'old_style' with identifier list is obsolete in C23 [384] */ 31e6d45417Srillig /* expect+2: error: incomplete or misplaced function definition [22] */ 32bb8d0271Srillig /* expect+1: warning: old-style declaration; add 'int' [1] */ 33e6d45417Srillig old_style(arg); 34