diff options
Diffstat (limited to 'lib/Target/CBackend/CTargetMachine.h')
-rw-r--r-- | lib/Target/CBackend/CTargetMachine.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Target/CBackend/CTargetMachine.h b/lib/Target/CBackend/CTargetMachine.h index f947f650c6..271a2bf653 100644 --- a/lib/Target/CBackend/CTargetMachine.h +++ b/lib/Target/CBackend/CTargetMachine.h @@ -19,8 +19,11 @@ namespace llvm { struct CTargetMachine : public TargetMachine { + const TargetData DataLayout; // Calculates type size & alignment + CTargetMachine(const Module &M, const std::string &FS) - : TargetMachine("CBackend", M) {} + : TargetMachine("CBackend", M), + DataLayout("CBackend") {} // This is the only thing that actually does anything here. virtual bool addPassesToEmitFile(PassManager &PM, std::ostream &Out, @@ -28,6 +31,8 @@ struct CTargetMachine : public TargetMachine { // 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; } }; } // End llvm namespace |