Use LLVMContext in the LLLexer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74934 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson 2009-07-07 18:44:11 +00:00
parent 151f369c53
commit ff6c91efcf
3 changed files with 10 additions and 5 deletions

View File

@ -14,6 +14,7 @@
#include "LLLexer.h"
#include "llvm/DerivedTypes.h"
#include "llvm/Instruction.h"
#include "llvm/LLVMContext.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/SourceMgr.h"
@ -180,8 +181,9 @@ static const char *isLabelTail(const char *CurPtr) {
// Lexer definition.
//===----------------------------------------------------------------------===//
LLLexer::LLLexer(MemoryBuffer *StartBuf, SourceMgr &sm, SMDiagnostic &Err)
: CurBuf(StartBuf), ErrorInfo(Err), SM(sm), APFloatVal(0.0) {
LLLexer::LLLexer(MemoryBuffer *StartBuf, SourceMgr &sm, SMDiagnostic &Err,
LLVMContext &C)
: CurBuf(StartBuf), ErrorInfo(Err), SM(sm), Context(C), APFloatVal(0.0) {
CurPtr = CurBuf->getBufferStart();
}
@ -452,7 +454,7 @@ lltok::Kind LLLexer::LexIdentifier() {
Error("bitwidth for integer type out of range!");
return lltok::Error;
}
TyVal = IntegerType::get(NumBits);
TyVal = Context.getIntegerType(NumBits);
return lltok::Type;
}

View File

@ -24,12 +24,14 @@ namespace llvm {
class MemoryBuffer;
class Type;
class SMDiagnostic;
class LLVMContext;
class LLLexer {
const char *CurPtr;
MemoryBuffer *CurBuf;
SMDiagnostic &ErrorInfo;
SourceMgr &SM;
LLVMContext &Context;
// Information about the current token.
const char *TokStart;
@ -42,7 +44,8 @@ namespace llvm {
std::string TheError;
public:
explicit LLLexer(MemoryBuffer *StartBuf, SourceMgr &SM, SMDiagnostic &);
explicit LLLexer(MemoryBuffer *StartBuf, SourceMgr &SM, SMDiagnostic &,
LLVMContext &C);
~LLLexer() {}
lltok::Kind Lex() {

View File

@ -74,7 +74,7 @@ namespace llvm {
std::vector<GlobalValue*> NumberedVals;
public:
LLParser(MemoryBuffer *F, SourceMgr &SM, SMDiagnostic &Err, Module *m) :
Context(m->getContext()), Lex(F, SM, Err), M(m) {}
Context(m->getContext()), Lex(F, SM, Err, m->getContext()), M(m) {}
bool Run();
LLVMContext& getContext() { return Context; }