blob: 66607c813fc31a57085f26d378d359c58dce1152 [file] [log] [blame]
Chris Lattnerad27d772009-08-15 06:14:07 +00001//===- MCSectionPIC16.h - PIC16-specific section representation -*- C++ -*-===//
Chris Lattnerf7427e52009-08-08 21:37:01 +00002//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
Chris Lattnerad27d772009-08-15 06:14:07 +000010// This file declares the MCSectionPIC16 class.
Chris Lattnerf7427e52009-08-08 21:37:01 +000011//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_PIC16SECTION_H
15#define LLVM_PIC16SECTION_H
16
17#include "llvm/MC/MCSection.h"
Chris Lattnerf7427e52009-08-08 21:37:01 +000018
19namespace llvm {
20
21 class MCSectionPIC16 : public MCSection {
Chris Lattner93b6db32009-08-08 23:39:42 +000022 std::string Name;
23
Chris Lattner873bc4c2009-08-13 00:26:52 +000024 MCSectionPIC16(const StringRef &name, SectionKind K)
25 : MCSection(K), Name(name) {
26 }
27
Chris Lattnerf7427e52009-08-08 21:37:01 +000028 public:
29
Chris Lattner93b6db32009-08-08 23:39:42 +000030 const std::string &getName() const { return Name; }
Chris Lattnerec3579f2009-08-21 23:08:09 +000031
Chris Lattner93b6db32009-08-08 23:39:42 +000032 static MCSectionPIC16 *Create(const StringRef &Name,
33 SectionKind K, MCContext &Ctx);
Chris Lattner892e1822009-08-08 22:41:53 +000034
35 virtual void PrintSwitchToSection(const TargetAsmInfo &TAI,
Chris Lattner93b6db32009-08-08 23:39:42 +000036 raw_ostream &OS) const;
Chris Lattnerf7427e52009-08-08 21:37:01 +000037 };
Chris Lattnerf7427e52009-08-08 21:37:01 +000038
39} // end namespace llvm
40
41#endif