blob: f69cc2c80731383f167ca251e9ed38e5e2825cd1 [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
24 MCSectionPIC16(const StringRef &name, SectionKind K,
25 MCContext &Ctx);
Chris Lattnerf7427e52009-08-08 21:37:01 +000026 public:
27
Chris Lattner93b6db32009-08-08 23:39:42 +000028 const std::string &getName() const { return Name; }
Chris Lattner892e1822009-08-08 22:41:53 +000029
Chris Lattner93b6db32009-08-08 23:39:42 +000030 static MCSectionPIC16 *Create(const StringRef &Name,
31 SectionKind K, MCContext &Ctx);
Chris Lattner892e1822009-08-08 22:41:53 +000032
33 virtual void PrintSwitchToSection(const TargetAsmInfo &TAI,
Chris Lattner93b6db32009-08-08 23:39:42 +000034 raw_ostream &OS) const;
Chris Lattnerf7427e52009-08-08 21:37:01 +000035 };
Chris Lattnerf7427e52009-08-08 21:37:01 +000036
37} // end namespace llvm
38
39#endif