1 // { dg-do run } 2 // GROUPS passed redeclaration 3 // Check that if multiple declarations of the same single 4 // function are present in different places in the same file, 5 // and if these declarations differ (as allowed) in the number 6 // of argument defaults provided, that correct values are 7 // passed at all call points anyway. 8 9 extern "C" int printf (const char *, ...); 10 11 void receiver (int ii, int jj); 12 sender_1()13void sender_1 () 14 { 15 receiver (3,7); 16 } 17 18 void receiver (int ii, int jj = 9); 19 sender_2()20void sender_2 () 21 { 22 receiver (5); 23 } 24 25 int ii_sum = 0; 26 int jj_sum = 0; 27 28 void sender_3 (); 29 main()30int main () 31 { 32 sender_1 (); 33 sender_2 (); 34 sender_3 (); 35 if (ii_sum != 13 || jj_sum != 25) 36 { printf ("FAIL\n"); return 1; } 37 else 38 printf ("PASS\n"); 39 40 return 0; 41 } 42 receiver(int ii,int jj)43void receiver (int ii, int jj) 44 { 45 ii_sum += ii; 46 jj_sum += jj; 47 } 48 sender_3()49void sender_3 () 50 { 51 receiver (5); 52 } 53