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