[llvm-commits] CVS: llvm/include/llvm/Target/TargetData.h

Chris Lattner lattner at cs.uiuc.edu
Fri Jun 16 11:11:20 PDT 2006



Changes in directory llvm/include/llvm/Target:

TargetData.h updated: 1.38 -> 1.39
---
Log message:

Remove ctor with each piece specifyable (which causes overload ambiguities),
add a new init method.


---
Diffs of the changes:  (+11 -10)

 TargetData.h |   21 +++++++++++----------
 1 files changed, 11 insertions(+), 10 deletions(-)


Index: llvm/include/llvm/Target/TargetData.h
diff -u llvm/include/llvm/Target/TargetData.h:1.38 llvm/include/llvm/Target/TargetData.h:1.39
--- llvm/include/llvm/Target/TargetData.h:1.38	Sat May 20 18:28:54 2006
+++ llvm/include/llvm/Target/TargetData.h	Fri Jun 16 13:11:07 2006
@@ -45,20 +45,16 @@
   unsigned char PointerAlignment;      // Defaults to 8 bytes
 
 public:
-  TargetData(const std::string &TargetName = "",
-             bool LittleEndian = false,
-             unsigned char PtrSize = 8,
-             unsigned char PtrAl   = 8, unsigned char DoubleAl = 8,
-             unsigned char FloatAl = 4, unsigned char LongAl   = 8,
-             unsigned char IntAl   = 4, unsigned char ShortAl  = 2,
-             unsigned char ByteAl  = 1, unsigned char BoolAl   = 1);
-
   /// Constructs a TargetData from a string of the following format:
   /// "E-p:64:64-d:64-f:32-l:64-i:32-s:16-b:8-B:8"
   /// The above string is considered the default, and any values not specified
   /// in the string will be assumed to be as above.
-  TargetData(const std::string &TargetName,
-             const std::string &TargetDescription);
+  TargetData(const std::string &TargetName = "",
+             const std::string &TargetDescription = "") {
+    assert(!TargetName.empty() &&
+           "ERROR: Tool did not specify a target data to use!");
+    init(TargetDescription);
+  }
   
   // Copy constructor
   TargetData (const TargetData &TD) :
@@ -78,6 +74,11 @@
   TargetData(const std::string &ToolName, const Module *M);
   ~TargetData();  // Not virtual, do not subclass this class
 
+  /// init - Specify configuration if not available at ctor time.
+  ///
+  void init(const std::string &TargetDescription);
+  
+  
   /// Target endianness...
   bool          isLittleEndian()       const { return     LittleEndian; }
   bool          isBigEndian()          const { return    !LittleEndian; }






More information about the llvm-commits mailing list