MCSection.h revision a0faf7ae555eacf75f5a482968b27e447d71c99f
1ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar//===- MCSection.h - Machine Code Sections ----------------------*- C++ -*-===// 2ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar// 3ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar// The LLVM Compiler Infrastructure 4ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar// 5ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar// This file is distributed under the University of Illinois Open Source 6ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar// License. See LICENSE.TXT for details. 7ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar// 8ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar//===----------------------------------------------------------------------===// 9a0faf7ae555eacf75f5a482968b27e447d71c99fChris Lattner// 10a0faf7ae555eacf75f5a482968b27e447d71c99fChris Lattner// This file declares the MCSection class. 11a0faf7ae555eacf75f5a482968b27e447d71c99fChris Lattner// 12a0faf7ae555eacf75f5a482968b27e447d71c99fChris Lattner//===----------------------------------------------------------------------===// 13ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar 14ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar#ifndef LLVM_MC_MCSECTION_H 15ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar#define LLVM_MC_MCSECTION_H 16ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar 17ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar#include <string> 18ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar 19ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbarnamespace llvm { 20ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar 21a0faf7ae555eacf75f5a482968b27e447d71c99fChris Lattner /// MCSection - Instances of this class represent a uniqued identifier for a 22a0faf7ae555eacf75f5a482968b27e447d71c99fChris Lattner /// section in the current translation unit. The MCContext class uniques and 23a0faf7ae555eacf75f5a482968b27e447d71c99fChris Lattner /// creates these. 24ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar class MCSection { 25ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar std::string Name; 26a0faf7ae555eacf75f5a482968b27e447d71c99fChris Lattner private: 27a0faf7ae555eacf75f5a482968b27e447d71c99fChris Lattner friend class MCContext; 28ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar MCSection(const char *_Name) : Name(_Name) {} 29a0faf7ae555eacf75f5a482968b27e447d71c99fChris Lattner 30a0faf7ae555eacf75f5a482968b27e447d71c99fChris Lattner MCSection(const MCSection&); // DO NOT IMPLEMENT 31a0faf7ae555eacf75f5a482968b27e447d71c99fChris Lattner void operator=(const MCSection&); // DO NOT IMPLEMENT 32a0faf7ae555eacf75f5a482968b27e447d71c99fChris Lattner public: 33a11af531ec48ad84f790b9511f003ac5c934a999Daniel Dunbar 34a11af531ec48ad84f790b9511f003ac5c934a999Daniel Dunbar const std::string &getName() const { return Name; } 35ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar }; 36ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar 37ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar} // end namespace llvm 38ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar 39ecc63f8687c4eb746b69336316685fe9b224adfbDaniel Dunbar#endif 40