diff options
Diffstat (limited to 'lib/Target/CppBackend/CPPTargetMachine.h')
-rw-r--r-- | lib/Target/CppBackend/CPPTargetMachine.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/lib/Target/CppBackend/CPPTargetMachine.h b/lib/Target/CppBackend/CPPTargetMachine.h index 673ade78a947..4bae7f817543 100644 --- a/lib/Target/CppBackend/CPPTargetMachine.h +++ b/lib/Target/CppBackend/CPPTargetMachine.h @@ -11,29 +11,35 @@ // //===----------------------------------------------------------------------===// -#ifndef CPPTARGETMACHINE_H -#define CPPTARGETMACHINE_H +#ifndef LLVM_LIB_TARGET_CPPBACKEND_CPPTARGETMACHINE_H +#define LLVM_LIB_TARGET_CPPBACKEND_CPPTARGETMACHINE_H #include "llvm/IR/DataLayout.h" #include "llvm/Target/TargetMachine.h" +#include "llvm/Target/TargetSubtargetInfo.h" namespace llvm { class formatted_raw_ostream; +class CPPSubtarget : public TargetSubtargetInfo { +}; + struct CPPTargetMachine : public TargetMachine { CPPTargetMachine(const Target &T, StringRef TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL) - : TargetMachine(T, TT, CPU, FS, Options) {} + : TargetMachine(T, TT, CPU, FS, Options), Subtarget() {} +private: + CPPSubtarget Subtarget; +public: + const CPPSubtarget *getSubtargetImpl() const override { return &Subtarget; } bool addPassesToEmitFile(PassManagerBase &PM, formatted_raw_ostream &Out, CodeGenFileType FileType, bool DisableVerify, AnalysisID StartAfter, AnalysisID StopAfter) override; - - const DataLayout *getDataLayout() const override { return nullptr; } }; extern Target TheCppBackendTarget; |