blob: 4c2ae05707c5c3fa872c0307c2611c4abf5a2b84 [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"
18#include "llvm/MC/MCContext.h"
Chris Lattner892e1822009-08-08 22:41:53 +000019#include "llvm/Support/raw_ostream.h"
Chris Lattnerf7427e52009-08-08 21:37:01 +000020
21namespace llvm {
22
23 class MCSectionPIC16 : public MCSection {
24 MCSectionPIC16(const StringRef &Name, bool IsDirective, SectionKind K,
25 MCContext &Ctx) : MCSection(Name, IsDirective, K, Ctx) {}
26 public:
27
28 static MCSectionPIC16 *Create(const StringRef &Name, bool IsDirective,
29 SectionKind K, MCContext &Ctx) {
30 return new (Ctx) MCSectionPIC16(Name, IsDirective, K, Ctx);
31 }
Chris Lattner892e1822009-08-08 22:41:53 +000032
33
34 virtual void PrintSwitchToSection(const TargetAsmInfo &TAI,
35 raw_ostream &OS) const {
36 OS << getName() << '\n';
37 }
38
Chris Lattnerf7427e52009-08-08 21:37:01 +000039 };
Chris Lattnerf7427e52009-08-08 21:37:01 +000040
41} // end namespace llvm
42
43#endif