blob: b654b246582de2d177eee9f42b4cb68334f6976b [file] [log] [blame]
// { dg-do run }
// GROUPS passed redeclaration
// Check that if multiple declarations of the same single
// function are present in different places in the same file,
// and if these declarations differ (as allowed) in the number
// of argument defaults provided, that correct values are
// passed at all call points anyway.
extern "C" int printf (const char *, ...);
void receiver (int ii, int jj);
void sender_1 ()
{
receiver (3,7);
}
void receiver (int ii, int jj = 9);
void sender_2 ()
{
receiver (5);
}
int ii_sum = 0;
int jj_sum = 0;
void sender_3 ();
int main ()
{
sender_1 ();
sender_2 ();
sender_3 ();
if (ii_sum != 13 || jj_sum != 25)
{ printf ("FAIL\n"); return 1; }
else
printf ("PASS\n");
return 0;
}
void receiver (int ii, int jj)
{
ii_sum += ii;
jj_sum += jj;
}
void sender_3 ()
{
receiver (5);
}