blob: cfc8dd067b096e2596e11f9eb07fbca3dbdc0af2 [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; }
Sanjiv Guptaeaa8b1f2009-08-21 15:22:33 +000031
32 void setName(std::string name) { Name = name; }
Chris Lattner93b6db32009-08-08 23:39:42 +000033 static MCSectionPIC16 *Create(const StringRef &Name,
34 SectionKind K, MCContext &Ctx);
Chris Lattner892e1822009-08-08 22:41:53 +000035
36 virtual void PrintSwitchToSection(const TargetAsmInfo &TAI,
Chris Lattner93b6db32009-08-08 23:39:42 +000037 raw_ostream &OS) const;
Chris Lattnerf7427e52009-08-08 21:37:01 +000038 };
Chris Lattnerf7427e52009-08-08 21:37:01 +000039
40} // end namespace llvm
41
42#endif