Currently, location (line, column number) information of anonymous types are printed even when the column location infomation is expected to be turned off. These information are even included in the final binary as strings, and make clang to generate different output when preprocessed source file is given as an input instead of the original source code (because of the macro expansion). This inhibits the use of clang with a build system that supports both distcc and caching, as distcc feeds preprocessed source file to remote build machines.
This patch turns off location information of anonymous types if -debug-column-info is not provided. I renamed -dwarf-column-info to -debug-column-info as it is not only for dwarf now (and the corresponding codegen option name was DebugColumnInfo, as shown in lib/Frontend/CompilerInvocation.cpp:521).
It's not reasonable for a debug info flag to affect the printing policy used throughout the compiler.