From 325297142c93ac162fcf9a3d78faeb1f49763914 Mon Sep 17 00:00:00 2001 From: Brian Gaeke <gaeke@uiuc.edu> Date: Wed, 14 Apr 2004 17:45:48 +0000 Subject: [PATCH] Add a copy constructor for TargetData. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12948 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Target/TargetData.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/include/llvm/Target/TargetData.h b/include/llvm/Target/TargetData.h index dc40efb1abd..1cc7ddb7d17 100644 --- a/include/llvm/Target/TargetData.h +++ b/include/llvm/Target/TargetData.h @@ -42,6 +42,7 @@ class TargetData : public ImmutablePass { unsigned char DoubleAlignment; // Defaults to 8 bytes unsigned char PointerSize; // Defaults to 8 bytes unsigned char PointerAlignment; // Defaults to 8 bytes + public: TargetData(const std::string &TargetName = "", bool LittleEndian = false, @@ -50,6 +51,21 @@ public: unsigned char FloatAl = 4, unsigned char LongAl = 8, unsigned char IntAl = 4, unsigned char ShortAl = 2, unsigned char ByteAl = 1); + + // Copy constructor + TargetData (const TargetData &TD) : + ImmutablePass (), + LittleEndian (TD.isLittleEndian ()), + ByteAlignment (TD.getByteAlignment ()), + ShortAlignment (TD.getShortAlignment ()), + IntAlignment (TD.getIntAlignment ()), + LongAlignment (TD.getLongAlignment ()), + FloatAlignment (TD.getFloatAlignment ()), + DoubleAlignment (TD.getDoubleAlignment ()), + PointerSize (TD.getPointerSize ()), + PointerAlignment (TD.getPointerAlignment ()) { + } + TargetData(const std::string &ToolName, const Module *M); ~TargetData(); // Not virtual, do not subclass this class