[llvm-commits] CVS: llvm/include/llvm/Target/TargetData.h
Brian Gaeke
gaeke at cs.uiuc.edu
Wed Apr 14 12:47:01 PDT 2004
Changes in directory llvm/include/llvm/Target:
TargetData.h updated: 1.23 -> 1.24
---
Log message:
Add a copy constructor for TargetData.
---
Diffs of the changes: (+16 -0)
Index: llvm/include/llvm/Target/TargetData.h
diff -u llvm/include/llvm/Target/TargetData.h:1.23 llvm/include/llvm/Target/TargetData.h:1.24
--- llvm/include/llvm/Target/TargetData.h:1.23 Thu Feb 26 02:01:57 2004
+++ llvm/include/llvm/Target/TargetData.h Wed Apr 14 12:45:48 2004
@@ -42,6 +42,7 @@
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 @@
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
More information about the llvm-commits
mailing list