diff options
Diffstat (limited to 'include/llvm/MC')
-rw-r--r-- | include/llvm/MC/MCSection.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/include/llvm/MC/MCSection.h b/include/llvm/MC/MCSection.h index 0669d0f..4e5969a 100644 --- a/include/llvm/MC/MCSection.h +++ b/include/llvm/MC/MCSection.h @@ -20,6 +20,8 @@ namespace llvm { class MCContext; + class TargetAsmInfo; + class raw_ostream; /// MCSection - Instances of this class represent a uniqued identifier for a /// section in the current translation unit. The MCContext class uniques and @@ -43,13 +45,13 @@ namespace llvm { public: virtual ~MCSection(); - static MCSection *Create(const StringRef &Name, bool IsDirective, - SectionKind K, MCContext &Ctx); - const std::string &getName() const { return Name; } bool isDirective() const { return IsDirective; } SectionKind getKind() const { return Kind; } + + virtual void PrintSwitchToSection(const TargetAsmInfo &TAI, + raw_ostream &OS) const = 0; }; @@ -60,7 +62,9 @@ namespace llvm { static MCSectionELF *Create(const StringRef &Name, bool IsDirective, SectionKind K, MCContext &Ctx); - + + virtual void PrintSwitchToSection(const TargetAsmInfo &TAI, + raw_ostream &OS) const; }; class MCSectionMachO : public MCSection { @@ -70,6 +74,9 @@ namespace llvm { static MCSectionMachO *Create(const StringRef &Name, bool IsDirective, SectionKind K, MCContext &Ctx); + + virtual void PrintSwitchToSection(const TargetAsmInfo &TAI, + raw_ostream &OS) const; }; class MCSectionCOFF : public MCSection { @@ -79,6 +86,9 @@ namespace llvm { static MCSectionCOFF *Create(const StringRef &Name, bool IsDirective, SectionKind K, MCContext &Ctx); + + virtual void PrintSwitchToSection(const TargetAsmInfo &TAI, + raw_ostream &OS) const; }; } // end namespace llvm |