aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/CppBackend
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/CppBackend')
-rw-r--r--lib/Target/CppBackend/CPPBackend.cpp3
-rw-r--r--lib/Target/CppBackend/CPPTargetMachine.h7
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/Target/CppBackend/CPPBackend.cpp b/lib/Target/CppBackend/CPPBackend.cpp
index 7b2995f9b0..b2d72dd228 100644
--- a/lib/Target/CppBackend/CPPBackend.cpp
+++ b/lib/Target/CppBackend/CPPBackend.cpp
@@ -81,8 +81,7 @@ extern "C" int CppBackendTargetMachineModule;
int CppBackendTargetMachineModule = 0;
// Register the target.
-extern Target TheCppBackendTarget;
-static RegisterTarget<CPPTargetMachine> X(TheCppBackendTarget, "cpp", "C++ backend");
+static RegisterTarget<CPPTargetMachine> X("cpp", "C++ backend");
// Force static initialization.
extern "C" void LLVMInitializeCppBackendTarget() { }
diff --git a/lib/Target/CppBackend/CPPTargetMachine.h b/lib/Target/CppBackend/CPPTargetMachine.h
index 4d6d5fe35d..84a07eaece 100644
--- a/lib/Target/CppBackend/CPPTargetMachine.h
+++ b/lib/Target/CppBackend/CPPTargetMachine.h
@@ -24,8 +24,8 @@ class formatted_raw_ostream;
struct CPPTargetMachine : public TargetMachine {
const TargetData DataLayout; // Calculates type size & alignment
- CPPTargetMachine(const Target &T, const Module &M, const std::string &FS)
- : TargetMachine(T), DataLayout(&M) {}
+ CPPTargetMachine(const Module &M, const std::string &FS)
+ : DataLayout(&M) {}
virtual bool WantsWholeFile() const { return true; }
virtual bool addPassesToEmitWholeFile(PassManager &PM,
@@ -33,6 +33,9 @@ struct CPPTargetMachine : public TargetMachine {
CodeGenFileType FileType,
CodeGenOpt::Level OptLevel);
+ // This class always works, but shouldn't be the default in most cases.
+ static unsigned getModuleMatchQuality(const Module &M) { return 1; }
+
virtual const TargetData *getTargetData() const { return &DataLayout; }
};