Do not handle void types in DataLayout. Patch by Patrick Hägglund.
authorDuncan Sands <baldrick@free.fr>
Thu, 15 Nov 2012 14:45:30 +0000 (14:45 +0000)
committerDuncan Sands <baldrick@free.fr>
Thu, 15 Nov 2012 14:45:30 +0000 (14:45 +0000)
llvm-svn: 168042

llvm/include/llvm/DataLayout.h
llvm/lib/VMCore/DataLayout.cpp

index 7d8eace..e10f9c7 100644 (file)
@@ -281,6 +281,7 @@ public:
 
   /// getTypeSizeInBits - Return the number of bits necessary to hold the
   /// specified type.  For example, returns 36 for i36 and 80 for x86_fp80.
+  /// The type passed must have a size (Type::isSized() must return true).
   uint64_t getTypeSizeInBits(Type* Ty) const;
 
   /// getTypeStoreSize - Return the maximum number of bytes that may be
index 72dcb99..24111be 100644 (file)
@@ -537,8 +537,6 @@ uint64_t DataLayout::getTypeSizeInBits(Type *Ty) const {
     return getStructLayout(cast<StructType>(Ty))->getSizeInBits();
   case Type::IntegerTyID:
     return cast<IntegerType>(Ty)->getBitWidth();
-  case Type::VoidTyID:
-    return 8;
   case Type::HalfTyID:
     return 16;
   case Type::FloatTyID:
@@ -600,7 +598,6 @@ unsigned DataLayout::getAlignment(Type *Ty, bool abi_or_pref) const {
     return std::max(Align, Layout->getAlignment());
   }
   case Type::IntegerTyID:
-  case Type::VoidTyID:
     AlignType = INTEGER_ALIGN;
     break;
   case Type::HalfTyID: