diff options
author | Brian Gaeke <gaeke@uiuc.edu> | 2004-04-14 17:45:48 +0000 |
---|---|---|
committer | Brian Gaeke <gaeke@uiuc.edu> | 2004-04-14 17:45:48 +0000 |
commit | 325297142c93ac162fcf9a3d78faeb1f49763914 (patch) | |
tree | bb7d31c587128712dc011987c7c00ed969f076db | |
parent | ac84728d487c73ac46b3636809e0d359dfb13884 (diff) |
Add a copy constructor for TargetData.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12948 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Target/TargetData.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetData.h b/include/llvm/Target/TargetData.h index dc40efb1ab..1cc7ddb7d1 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 |