"selectany" symbols are necessary for:
a) member functions defined in the class definition body, when inlining is disabled for debugging;
b) vtable;
c) identical non-inline template functions (and member functions of template classes) generated in different files;
Also, ICF - identical COMDAT folding - needs to be disabled for a debug build, because it makes setting breakpoints in different functions with identical code impossible.