The ATTRIBUTES option C determines naming conventions as well as calling conventions.
Calling conventions specify how arguments are moved and stored; naming conventions specify how symbol names are altered when placed in a .o file. Names are an issue for external data symbols shared among parts of the same program as well as among external routines. Symbol names (such as the name of a subroutine) identify a memory location that must be consistent among all calling routines.
Parameter names (names given in a procedure definition to variables that are passed to it) are never affected.
Names are altered because of case sensitivity (in C), lack of case sensitivity (in Fortran), name decoration (in C++), or other issues. If naming conventions are not reconciled, the program cannot successfully link and you will receive an "unresolved external" error.
See these topics: