diff options
author | Andrew Lenharth <andrewl@lenharth.org> | 2005-07-28 18:13:59 +0000 |
---|---|---|
committer | Andrew Lenharth <andrewl@lenharth.org> | 2005-07-28 18:13:59 +0000 |
commit | fe660397e14ecba84e792ada489f2bda7269b413 (patch) | |
tree | abbe296b7e73783a490283be59ba14edcd0812de | |
parent | 3be872ed59c631213fc84c29603545e362623c76 (diff) |
new is not a valid default anywhere, so make this pure virtual
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22542 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/CodeGen/MachineCodeEmitter.h | 7 | ||||
-rw-r--r-- | lib/CodeGen/ELFWriter.cpp | 5 | ||||
-rw-r--r-- | lib/CodeGen/MachineCodeEmitter.cpp | 7 |
3 files changed, 14 insertions, 5 deletions
diff --git a/include/llvm/CodeGen/MachineCodeEmitter.h b/include/llvm/CodeGen/MachineCodeEmitter.h index 59c5b614af..f5ee2e6237 100644 --- a/include/llvm/CodeGen/MachineCodeEmitter.h +++ b/include/llvm/CodeGen/MachineCodeEmitter.h @@ -94,11 +94,8 @@ public: // virtual uint64_t getConstantPoolEntryAddress(unsigned Index) = 0; - // allocateGlobal - Allocate some space for a global variable. This is - // used by the JIT to allocate space in the global variable region. - virtual unsigned char* allocateGlobal(unsigned size, unsigned alignment) { - return new unsigned char[(size_t)size]; - } + // allocateGlobal - Allocate some space for a global variable. + virtual unsigned char* allocateGlobal(unsigned size, unsigned alignment) = 0; /// createDebugEmitter - Return a dynamically allocated machine /// code emitter, which just prints the opcodes and fields out the cout. This diff --git a/lib/CodeGen/ELFWriter.cpp b/lib/CodeGen/ELFWriter.cpp index 7963b658d6..cdbc13a20f 100644 --- a/lib/CodeGen/ELFWriter.cpp +++ b/lib/CodeGen/ELFWriter.cpp @@ -85,6 +85,11 @@ namespace llvm { return 0; } + virtual unsigned char* allocateGlobal(unsigned size, unsigned alignment) { + assert(0 && "Globals not implemented yet!"); + return 0; + } + /// JIT SPECIFIC FUNCTIONS - DO NOT IMPLEMENT THESE HERE! void startFunctionStub(unsigned StubSize) { assert(0 && "JIT specific function called!"); diff --git a/lib/CodeGen/MachineCodeEmitter.cpp b/lib/CodeGen/MachineCodeEmitter.cpp index 3037cba297..1090d762d7 100644 --- a/lib/CodeGen/MachineCodeEmitter.cpp +++ b/lib/CodeGen/MachineCodeEmitter.cpp @@ -51,6 +51,9 @@ namespace { std::cout << "<relocation> "; } + virtual unsigned char* allocateGlobal(unsigned size, unsigned alignment) + { return 0; } + uint64_t getConstantPoolEntryAddress(unsigned Num) { return 0; } uint64_t getCurrentPCValue() { return 0; } uint64_t getCurrentPCOffset() { return 0; } @@ -142,6 +145,10 @@ namespace { uint64_t getConstantPoolEntryAddress(unsigned Num) { return MCE.getConstantPoolEntryAddress(Num); } + + virtual unsigned char* allocateGlobal(unsigned size, unsigned alignment) + { return MCE.allocateGlobal(size, alignment); } + uint64_t getCurrentPCValue() { return MCE.getCurrentPCValue(); } |