If a function definition is followed by a function prototype that uses different names for parameters than the actual definition, CIL replaces the parameter names in the function head of the definition with the parameter names of the prototype. CIL only behaves this way if the --keepunused option is used, which is off per default.
Please see the following example...
int foo(int a, int b)
{
return a + b;
}
int foo(int aa, int bb);
int foo(int aa , int bb )
{
{
return (a + b);
}
}
This behavior was observed with the develop branch version of CIL (1.7.3+).