From 90855adf7d37bf913270c55c5e090640c8ae7beb Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Thu, 20 Aug 2009 22:04:42 +0000 Subject: --- Reverse-merging r79555 into '.': U include/llvm/Target/TargetData.h U lib/Target/TargetData.cpp Temporarily revert 79555. It was causing hangs and test failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79568 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Target/TargetData.h | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'include/llvm') diff --git a/include/llvm/Target/TargetData.h b/include/llvm/Target/TargetData.h index b0ea291..23775be 100644 --- a/include/llvm/Target/TargetData.h +++ b/include/llvm/Target/TargetData.h @@ -91,9 +91,6 @@ private: */ static const TargetAlignElem InvalidAlignmentElem; - /// Opaque pointer for the StructType -> StructLayout map - void* LayoutMap; - //! Set/initialize target alignments void setAlignment(AlignTypeEnum align_type, unsigned char abi_align, unsigned char pref_align, uint32_t bit_width); @@ -110,9 +107,6 @@ private: return (&align != &InvalidAlignmentElem); } - // DO NOT IMPLEMENT - void operator=(const TargetData&); - public: /// Default ctor. /// @@ -124,11 +118,22 @@ public: } /// Constructs a TargetData from a specification string. See init(). - explicit TargetData(const std::string &TargetDescription); + explicit TargetData(const std::string &TargetDescription) + : ImmutablePass(&ID) { + init(TargetDescription); + } /// Initialize target data from properties stored in the module. explicit TargetData(const Module *M); - TargetData(const TargetData &TD); + + TargetData(const TargetData &TD) : + ImmutablePass(&ID), + LittleEndian(TD.isLittleEndian()), + PointerMemSize(TD.PointerMemSize), + PointerABIAlign(TD.PointerABIAlign), + PointerPrefAlign(TD.PointerPrefAlign), + Alignments(TD.Alignments) + { } ~TargetData(); // Not virtual, do not subclass this class -- cgit v1.1