blob: 3c2addf58c52c5924a4b10998f1f5a097ce34719 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
//===- MCContext.h - Machine Code Context -----------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_MC_MCCONTEXT_H
#define LLVM_MC_MCCONTEXT_H
namespace llvm {
class MCAtom;
class MCImm;
class MCSection;
class MCSymbol;
/// MCContext - Context object for machine code objects.
class MCContext {
MCContext(const MCContext&); // DO NOT IMPLEMENT
MCContext &operator=(const MCContext&); // DO NOT IMPLEMENT
public:
MCContext();
~MCContext();
MCSection *GetSection(const char *Name);
MCAtom *CreateAtom(MCSection *Section);
MCSymbol *CreateSymbol(MCAtom *Atom,
const char *Name,
bool IsTemporary);
MCSymbol *LookupSymbol(const char *Name) const;
void SetSymbolValue(MCSymbol *Sym, const MCImm &Value);
const MCImm &GetSymbolValue(MCSymbol *Sym) const;
};
} // end namespace llvm
#endif
|