瀏覽代碼

Hold the LLVMContext by reference instead of by pointer.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74642 91177308-0d34-0410-b5e6-96231b3b80d8
Owen Anderson 16 年之前
父節點
當前提交
c93f49832d

+ 1 - 1
include/clang/CodeGen/ModuleBuilder.h

@@ -36,7 +36,7 @@ namespace clang {
   CodeGenerator *CreateLLVMCodeGen(Diagnostic &Diags,
                                    const std::string &ModuleName,
                                    const CompileOptions &CO,
-                                   llvm::LLVMContext* C);
+                                   const llvm::LLVMContext& C);
 }
 
 #endif

+ 1 - 1
include/clang/Frontend/ASTConsumers.h

@@ -81,7 +81,7 @@ ASTConsumer *CreateBackendConsumer(BackendAction Action,
                                    const CompileOptions &CompileOpts,
                                    const std::string &ModuleID,
                                    llvm::raw_ostream *OS,
-                                   llvm::LLVMContext* C);
+                                   const llvm::LLVMContext& C);
 
 // HTML printer: uses the rewriter to convert source code to HTML with
 // syntax highlighting suitable for viewing in a web-browser.

+ 2 - 2
lib/CodeGen/ModuleBuilder.cpp

@@ -38,7 +38,7 @@ namespace {
     llvm::OwningPtr<CodeGen::CodeGenModule> Builder;
   public:
     CodeGeneratorImpl(Diagnostic &diags, const std::string& ModuleName,
-                      const CompileOptions &CO, llvm::LLVMContext* C)
+                      const CompileOptions &CO, const llvm::LLVMContext& C)
       : Diags(diags), CompileOpts(CO), M(new llvm::Module(ModuleName, C)) {}
     
     virtual ~CodeGeneratorImpl() {}
@@ -97,6 +97,6 @@ namespace {
 CodeGenerator *clang::CreateLLVMCodeGen(Diagnostic &Diags, 
                                         const std::string& ModuleName,
                                         const CompileOptions &CO,
-                                        llvm::LLVMContext* C) {
+                                        const llvm::LLVMContext& C) {
   return new CodeGeneratorImpl(Diags, ModuleName, CO, C);
 }

+ 2 - 2
lib/Frontend/Backend.cpp

@@ -76,7 +76,7 @@ namespace {
     BackendConsumer(BackendAction action, Diagnostic &Diags, 
                     const LangOptions &langopts, const CompileOptions &compopts,
                     const std::string &infile, llvm::raw_ostream* OS,
-                    LLVMContext* C) :
+                    const LLVMContext& C) :
       Action(action), 
       CompileOpts(compopts),
       AsmOutStream(OS), 
@@ -361,7 +361,7 @@ ASTConsumer *clang::CreateBackendConsumer(BackendAction Action,
                                           const CompileOptions &CompileOpts,
                                           const std::string& InFile,
                                           llvm::raw_ostream* OS,
-                                          LLVMContext* C) {
+                                          const LLVMContext& C) {
   return new BackendConsumer(Action, Diags, LangOpts, CompileOpts,
                              InFile, OS, C);
 }

+ 2 - 2
tools/clang-cc/clang-cc.cpp

@@ -1748,7 +1748,7 @@ static llvm::raw_ostream* ComputeOutFile(const std::string& InFile,
 static void ProcessInputFile(Preprocessor &PP, PreprocessorFactory &PPF,
                              const std::string &InFile, ProgActions PA,
                              const llvm::StringMap<bool> &Features,
-                             llvm::LLVMContext* Context) {
+                             const llvm::LLVMContext& Context) {
   llvm::OwningPtr<llvm::raw_ostream> OS;
   llvm::OwningPtr<ASTConsumer> Consumer;
   bool ClearSourceMgr = false;
@@ -2284,7 +2284,7 @@ int main(int argc, char **argv) {
       ((PathDiagnosticClient*)DiagClient.get())->SetPreprocessor(PP.get());
 
     // Process the source file.
-    ProcessInputFile(*PP, PPFactory, InFile, ProgAction, Features, &Context);
+    ProcessInputFile(*PP, PPFactory, InFile, ProgAction, Features, Context);
     
     HeaderInfo.ClearFileInfo();
     DiagClient->setLangOptions(0);