namespace llvm {
class MCContext;
- class TargetAsmInfo;
+ class MCAsmInfo;
class raw_ostream;
/// MCSection - Instances of this class represent a uniqued identifier for a
SectionKind getKind() const { return Kind; }
- virtual void PrintSwitchToSection(const TargetAsmInfo &TAI,
+ virtual void PrintSwitchToSection(const MCAsmInfo &MAI,
raw_ostream &OS) const = 0;
};
class MCSectionCOFF : public MCSection {
+ // FIXME: This memory is leaked because MCSectionCOFF is bump pointer
+ // allocated and this never gets freed.
std::string Name;
/// IsDirective - This is true if the section name is a directive, not
/// of a syntactic one.
bool IsDirective;
- MCSectionCOFF(const StringRef &name, bool isDirective, SectionKind K)
+ MCSectionCOFF(StringRef name, bool isDirective, SectionKind K)
: MCSection(K), Name(name), IsDirective(isDirective) {
}
public:
- static MCSectionCOFF *Create(const StringRef &Name, bool IsDirective,
- SectionKind K, MCContext &Ctx);
+ static MCSectionCOFF *Create(StringRef Name, bool IsDirective,
+ SectionKind K, MCContext &Ctx);
const std::string &getName() const { return Name; }
bool isDirective() const { return IsDirective; }
- virtual void PrintSwitchToSection(const TargetAsmInfo &TAI,
+ virtual void PrintSwitchToSection(const MCAsmInfo &MAI,
raw_ostream &OS) const;
};