forked from OSchip/llvm-project
Don't repeat names and clang-format this file.
llvm-svn: 231786
This commit is contained in:
parent
f00fd1f087
commit
87e8f56e2c
|
@ -19,47 +19,43 @@
|
|||
#include "llvm/Support/Compiler.h"
|
||||
|
||||
namespace llvm {
|
||||
class MCAsmInfo;
|
||||
class MCExpr;
|
||||
class raw_ostream;
|
||||
class MCAsmInfo;
|
||||
class MCExpr;
|
||||
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
|
||||
/// creates these.
|
||||
class MCSection {
|
||||
public:
|
||||
enum SectionVariant {
|
||||
SV_COFF = 0,
|
||||
SV_ELF,
|
||||
SV_MachO
|
||||
};
|
||||
/// Instances of this class represent a uniqued identifier for a section in the
|
||||
/// current translation unit. The MCContext class uniques and creates these.
|
||||
class MCSection {
|
||||
public:
|
||||
enum SectionVariant { SV_COFF = 0, SV_ELF, SV_MachO };
|
||||
|
||||
private:
|
||||
MCSection(const MCSection&) = delete;
|
||||
void operator=(const MCSection&) = delete;
|
||||
protected:
|
||||
MCSection(SectionVariant V, SectionKind K) : Variant(V), Kind(K) {}
|
||||
SectionVariant Variant;
|
||||
SectionKind Kind;
|
||||
public:
|
||||
virtual ~MCSection();
|
||||
private:
|
||||
MCSection(const MCSection &) = delete;
|
||||
void operator=(const MCSection &) = delete;
|
||||
|
||||
SectionKind getKind() const { return Kind; }
|
||||
protected:
|
||||
MCSection(SectionVariant V, SectionKind K) : Variant(V), Kind(K) {}
|
||||
SectionVariant Variant;
|
||||
SectionKind Kind;
|
||||
|
||||
SectionVariant getVariant() const { return Variant; }
|
||||
public:
|
||||
virtual ~MCSection();
|
||||
|
||||
virtual void PrintSwitchToSection(const MCAsmInfo &MAI,
|
||||
raw_ostream &OS,
|
||||
const MCExpr *Subsection) const = 0;
|
||||
SectionKind getKind() const { return Kind; }
|
||||
|
||||
// UseCodeAlign - Return true if a .align directive should use
|
||||
// "optimized nops" to fill instead of 0s.
|
||||
virtual bool UseCodeAlign() const = 0;
|
||||
SectionVariant getVariant() const { return Variant; }
|
||||
|
||||
/// isVirtualSection - Check whether this section is "virtual", that is
|
||||
/// has no actual object file contents.
|
||||
virtual bool isVirtualSection() const = 0;
|
||||
};
|
||||
virtual void PrintSwitchToSection(const MCAsmInfo &MAI, raw_ostream &OS,
|
||||
const MCExpr *Subsection) const = 0;
|
||||
|
||||
/// Return true if a .align directive should use "optimized nops" to fill
|
||||
/// instead of 0s.
|
||||
virtual bool UseCodeAlign() const = 0;
|
||||
|
||||
/// Check whether this section is "virtual", that is has no actual object
|
||||
/// file contents.
|
||||
virtual bool isVirtualSection() const = 0;
|
||||
};
|
||||
|
||||
} // end namespace llvm
|
||||
|
||||
|
|
Loading…
Reference in New Issue