blob: 0a2d09145c39289d11ca98fad287a28226d51cfa [file] [log] [blame]
Chris Lattnerf7427e52009-08-08 21:37:01 +00001//===- PIC16Section.h - PIC16-specific section representation ---*- C++ -*-===//
2//
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//
10// This file declares the MCSection class.
11//
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 Lattner892e1822009-08-08 22:41:53 +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