Whoops, 32 bit targets have _4_ byte pointers, not _32_ byte pointers!
authorChris Lattner <sabre@nondot.org>
Fri, 25 Apr 2003 06:06:43 +0000 (06:06 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 25 Apr 2003 06:06:43 +0000 (06:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5937 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/TargetData.cpp

index a0a3b82d24fa9cf48fd4c0c3645b4f154d9557e5..923031c4005d35b119488307a53049521282cfe4 100644 (file)
@@ -104,6 +104,8 @@ TargetData::TargetData(const std::string &TargetName,
   PointerSize      = PtrSize;
   PointerAlignment = PtrAl;
   DoubleAlignment  = DoubleAl;
+  assert(DoubleAlignment == PtrAl &&
+         "Double alignment and pointer alignment agree for now!");
   FloatAlignment   = FloatAl;
   LongAlignment    = LongAl;
   IntAlignment     = IntAl;
@@ -118,9 +120,9 @@ TargetData::TargetData(const std::string &ToolName, const Module *M)
   LittleEndian     = M->isLittleEndian();
   SubWordDataSize  = 1;
   IntegerRegSize   = 8;
-  PointerSize      = M->has32BitPointers() ? 32 : 64;
+  PointerSize      = M->has32BitPointers() ? 4 : 8;
   PointerAlignment = PointerSize;
-  DoubleAlignment  = 8;
+  DoubleAlignment  = PointerSize;
   FloatAlignment   = 4;
   LongAlignment    = 8;
   IntAlignment     = 4;