[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