MSVC generates different symbols for class vs struct, confusing the linker.
Merge remote-tracking branch 'upstream/master'
Minor fixes from static analysis.
Merge remote-tracking branch 'cc9cii/master'