summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/include/clang/CodeGen/CodeGenABITypes.h11
-rw-r--r--clang/lib/CodeGen/CodeGenABITypes.cpp9
2 files changed, 12 insertions, 8 deletions
diff --git a/clang/include/clang/CodeGen/CodeGenABITypes.h b/clang/include/clang/CodeGen/CodeGenABITypes.h
index 81e2cdc1901..0cefef3d57a 100644
--- a/clang/include/clang/CodeGen/CodeGenABITypes.h
+++ b/clang/include/clang/CodeGen/CodeGenABITypes.h
@@ -47,10 +47,7 @@ class CodeGenModule;
class CodeGenABITypes
{
public:
- CodeGenABITypes(ASTContext &C, const CodeGenOptions &CodeGenOpts,
- llvm::Module &M, const llvm::DataLayout &TD,
- DiagnosticsEngine &Diags);
-
+ CodeGenABITypes(ASTContext &C, llvm::Module &M, const llvm::DataLayout &TD);
~CodeGenABITypes();
/// These methods all forward to methods in the private implementation class
@@ -71,6 +68,12 @@ public:
RequiredArgs args);
private:
+ /// Default CodeGenOptions object used to initialize the
+ /// CodeGenModule and otherwise not used. More specifically, it is
+ /// not used in ABI type generation, so none of the options matter.
+ CodeGenOptions *CGO;
+
+ /// The CodeGenModule we use get to the CodeGenTypes object.
CodeGen::CodeGenModule *CGM;
};
diff --git a/clang/lib/CodeGen/CodeGenABITypes.cpp b/clang/lib/CodeGen/CodeGenABITypes.cpp
index 18c836cf2f4..d78b47bfb61 100644
--- a/clang/lib/CodeGen/CodeGenABITypes.cpp
+++ b/clang/lib/CodeGen/CodeGenABITypes.cpp
@@ -19,21 +19,22 @@
#include "clang/CodeGen/CodeGenABITypes.h"
#include "clang/CodeGen/CGFunctionInfo.h"
+#include "clang/Frontend/CodeGenOptions.h"
#include "CodeGenModule.h"
using namespace clang;
using namespace CodeGen;
CodeGenABITypes::CodeGenABITypes(ASTContext &C,
- const CodeGenOptions &CodeGenOpts,
llvm::Module &M,
- const llvm::DataLayout &TD,
- DiagnosticsEngine &Diags)
- : CGM(new CodeGen::CodeGenModule(C, CodeGenOpts, M, TD, Diags)) {
+ const llvm::DataLayout &TD)
+ : CGO(new CodeGenOptions),
+ CGM(new CodeGen::CodeGenModule(C, *CGO, M, TD, C.getDiagnostics())) {
}
CodeGenABITypes::~CodeGenABITypes()
{
+ delete CGO;
delete CGM;
}
OpenPOWER on IntegriCloud