make the sourcemgr available through ASTContext.

llvm-svn: 41906
This commit is contained in:
Chris Lattner 2007-09-13 01:14:03 +00:00
parent b2c42621df
commit 5a5b35c07b
4 changed files with 16 additions and 8 deletions

View File

@ -29,7 +29,9 @@ class DeadStoreObserver : public LiveVariablesObserver {
ASTContext Ctx;
public:
DeadStoreObserver(Preprocessor& pp) :
PP(pp), Ctx(PP.getTargetInfo(), PP.getIdentifierTable()) {}
PP(pp), Ctx(PP.getSourceManager(), PP.getTargetInfo(),
PP.getIdentifierTable()) {
}
virtual ~DeadStoreObserver() {}

View File

@ -27,7 +27,8 @@ void clang::BuildASTs(Preprocessor &PP, unsigned MainFileID, bool Stats) {
Stmt::CollectingStats(true);
}
ASTContext Context(PP.getTargetInfo(), PP.getIdentifierTable());
ASTContext Context(PP.getSourceManager(), PP.getTargetInfo(),
PP.getIdentifierTable());
ASTStreamerTy *Streamer = ASTStreamer_Init(PP, Context, MainFileID);
while (ASTStreamer_ReadTopLevelDecl(Streamer))
@ -106,7 +107,8 @@ static void PrintObjcInterfaceDecl(ObjcInterfaceDecl *OID) {
}
void clang::PrintASTs(Preprocessor &PP, unsigned MainFileID, bool Stats) {
ASTContext Context(PP.getTargetInfo(), PP.getIdentifierTable());
ASTContext Context(PP.getSourceManager(), PP.getTargetInfo(),
PP.getIdentifierTable());
ASTStreamerTy *Streamer = ASTStreamer_Init(PP, Context, MainFileID);
while (Decl *D = ASTStreamer_ReadTopLevelDecl(Streamer)) {
@ -137,7 +139,8 @@ void clang::PrintASTs(Preprocessor &PP, unsigned MainFileID, bool Stats) {
}
void clang::DumpASTs(Preprocessor &PP, unsigned MainFileID, bool Stats) {
ASTContext Context(PP.getTargetInfo(), PP.getIdentifierTable());
ASTContext Context(PP.getSourceManager(), PP.getTargetInfo(),
PP.getIdentifierTable());
ASTStreamerTy *Streamer = ASTStreamer_Init(PP, Context, MainFileID);
while (Decl *D = ASTStreamer_ReadTopLevelDecl(Streamer)) {
@ -184,7 +187,8 @@ static void VisitCFGs(CFGVisitor& Visitor, Preprocessor& PP,
unsigned MainFileID, bool Stats) {
bool printFDecl = Visitor.printFuncDeclStart();
ASTContext Context(PP.getTargetInfo(), PP.getIdentifierTable());
ASTContext Context(PP.getSourceManager(), PP.getTargetInfo(),
PP.getIdentifierTable());
ASTStreamerTy *Streamer = ASTStreamer_Init(PP, Context, MainFileID);
while (Decl *D = ASTStreamer_ReadTopLevelDecl(Streamer)) {

View File

@ -29,7 +29,8 @@ void clang::EmitLLVMFromASTs(Preprocessor &PP, unsigned MainFileID,
bool PrintStats) {
Diagnostic &Diags = PP.getDiagnostics();
// Create the streamer to read the file.
ASTContext Context(PP.getTargetInfo(), PP.getIdentifierTable());
ASTContext Context(PP.getSourceManager(), PP.getTargetInfo(),
PP.getIdentifierTable());
ASTStreamerTy *Streamer = ASTStreamer_Init(PP, Context, MainFileID);
// Create the module to codegen into.

View File

@ -40,6 +40,7 @@ class ASTContext {
RecordDecl *CFConstantStringTypeDecl;
llvm::StringMap<char> SelectorNames;
public:
SourceManager &SourceMgr;
TargetInfo &Target;
IdentifierTable &Idents;
Builtin::Context BuiltinInfo;
@ -54,8 +55,8 @@ public:
QualType FloatTy, DoubleTy, LongDoubleTy;
QualType FloatComplexTy, DoubleComplexTy, LongDoubleComplexTy;
ASTContext(TargetInfo &t, IdentifierTable &idents) :
CFConstantStringTypeDecl(0), Target(t), Idents(idents) {
ASTContext(SourceManager &SM, TargetInfo &t, IdentifierTable &idents) :
CFConstantStringTypeDecl(0), SourceMgr(SM), Target(t), Idents(idents) {
InitBuiltinTypes();
BuiltinInfo.InitializeBuiltins(idents, Target);
}