Whether case distinctions are significant (§3.1.2)
Microsoft C treats identifiers within a compilation unit as case sensitive. Externally linked identifiers may or may not be case sensitive, depending on whether you use /NOIGNORECASE option when you invoke the linker. The default for the linker is to ignore case, making externally linked identifiers case insensitive.
Thus, symbols in source files are sensitive to case. By default, symbols in object files are not.
Two CL command-line options affect case sensitivity:
The /Gc (generate Pascal-style function calls) command-line option converts all external identifiers (including function names) to uppercase. The __pascal declarator performs the same operation on a function-by-function basis for 16-bit targets.
The /Zc (compile case insensitive) ignores case at the source level for any identifier names declared with the __pascal keyword.