17 MCSectionCOFF::~MCSectionCOFF() {}
25 if (Name ==
".text" || Name ==
".data" || Name ==
".bss")
33 assert(Selection != 0 &&
"invalid COMDAT selection type");
36 "associative COMDAT section must have an associated section");
37 this->Selection = Selection;
39 Characteristics |= COFF::IMAGE_SCN_LNK_COMDAT;
44 const MCExpr *Subsection)
const {
66 OS <<
"\t.linkonce one_only\n";
69 OS <<
"\t.linkonce discard\n";
72 OS <<
"\t.linkonce same_size\n";
75 OS <<
"\t.linkonce same_contents\n";
78 OS <<
"\t.linkonce associative " << Assoc->
getSectionName() <<
"\n";
81 OS <<
"\t.linkonce largest\n";
84 OS <<
"\t.linkonce newest\n";
87 assert (0 &&
"unsupported COFF selection type");
MCSectionCOFF - This represents a section on Windows.
bool ShouldOmitSectionDirective(StringRef Name, const MCAsmInfo &MAI) const
virtual bool isVirtualSection() const
unsigned getCharacteristics() const
SectionKind getKind() const
StringRef getSectionName() const
void setSelection(int Selection, const MCSectionCOFF *Assoc=0) const
virtual void PrintSwitchToSection(const MCAsmInfo &MAI, raw_ostream &OS, const MCExpr *Subsection) const
virtual bool UseCodeAlign() const