diff --git a/lib/MC/MCSectionCOFF.cpp b/lib/MC/MCSectionCOFF.cpp index 786bc7bc035..d57bb0cd52b 100644 --- a/lib/MC/MCSectionCOFF.cpp +++ b/lib/MC/MCSectionCOFF.cpp @@ -50,9 +50,6 @@ void MCSectionCOFF::PrintSwitchToSection(const MCAsmInfo &MAI, if (getCharacteristics() & MCSectionCOFF::IMAGE_SCN_LNK_COMDAT) { switch (Selection) { - default: - assert (0 && "unsupported COFF selection type"); - break; case IMAGE_COMDAT_SELECT_NODUPLICATES: OS << "\t.linkonce one_only\n"; break; @@ -65,12 +62,15 @@ void MCSectionCOFF::PrintSwitchToSection(const MCAsmInfo &MAI, case IMAGE_COMDAT_SELECT_EXACT_MATCH: OS << "\t.linkonce same_contents\n"; break; - // ".linkonce largest" is not documented as being an option. - // It seems odd that a link attribute designed essentially for PE/COFF - // wouldn't support all the options (at least as of binutils 2.20) - //case IMAGE_COMDAT_SELECT_LARGEST: + //NOTE: as of binutils 2.20, there is no way to specifiy select largest + // with the .linkonce directive. For now, we treat it as an invalid + // comdat selection value. + case IMAGE_COMDAT_SELECT_LARGEST: // OS << "\t.linkonce largest\n"; // break; + default: + assert (0 && "unsupported COFF selection type"); + break; } } }