forked from OSchip/llvm-project
Simplify the constructor to CodeGenABITypes.
The CodeGenOptions are not used for ABI type selection, so we will just create one with the default constructor (there is a FloatABI option in CodeGenOptions that is passed on to LLVM, but not used in Clang for LLVM IR type generation). We can use the DiagnosticsEngine on the ASTContext rather than making a client pass one in explicitly. llvm-svn: 196450
This commit is contained in:
parent
164097a6eb
commit
d33ff74b19
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue