Now that we know the exact type of the function we're calling,
the arguments[] need to be adjusted:
1. implicitly convert argument to the corresponding parameter type
2. add default arguments for any missing arguments
3. do default promotions on arguments corresponding to ...
4. add hidden _arguments[] argument
5. call copy constructor for struct value arguments
Input:
tf type of the function
fd the function being called, NULL if called indirectly
Output:
*prettype return type of function
*peprefix expression to execute before arguments[] are evaluated, NULL if none
Now that we know the exact type of the function we're calling, the arguments[] need to be adjusted: 1. implicitly convert argument to the corresponding parameter type 2. add default arguments for any missing arguments 3. do default promotions on arguments corresponding to ... 4. add hidden _arguments[] argument 5. call copy constructor for struct value arguments Input: tf type of the function fd the function being called, NULL if called indirectly Output: *prettype return type of function *peprefix expression to execute before arguments[] are evaluated, NULL if none