1f4b4e8b8Srillig # 2 "d_decl_old_style_arguments.c" 2f4b4e8b8Srillig 3f4b4e8b8Srillig /* 4bb8d0271Srillig * A function is declared with a prototype, followed by an old-style definition 5f4b4e8b8Srillig * that is completely different. 6f4b4e8b8Srillig */ 7f4b4e8b8Srillig 8b2baa501Srillig /* lint1-extra-flags: -X 351 */ 9b2baa501Srillig 10f4b4e8b8Srillig void func(int a, int b, int c); 11f4b4e8b8Srillig 12*3d6a5025Srillig /* expect+5: warning: function definition for 'func' with identifier list is obsolete in C23 [384] */ 13ea332265Srillig /* expect+4: warning: parameter 'num' unused in function 'func' [231] */ 14ea332265Srillig /* expect+3: warning: parameter 'ptr' unused in function 'func' [231] */ 15ea332265Srillig /* expect+2: warning: parameter 'dbl' unused in function 'func' [231] */ 16ea332265Srillig /* expect+1: warning: parameter 'def' unused in function 'func' [231] */ 17a4a927acSrillig void func(num, ptr, dbl, def) 18f4b4e8b8Srillig int num; 19f4b4e8b8Srillig char *ptr; 20f4b4e8b8Srillig double dbl; 21a4a927acSrillig { 22039b0100Srillig /* expect-1: warning: type of parameter 'def' defaults to 'int' [32] */ 23a4a927acSrillig /* expect-2: error: parameter mismatch: 3 declared, 4 defined [51] */ 24f4b4e8b8Srillig } 25