OSDN Git Service

Do not crash on empty structures
authorChris Lattner <sabre@nondot.org>
Fri, 17 Oct 2003 18:03:54 +0000 (18:03 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 17 Oct 2003 18:03:54 +0000 (18:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9195 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/TransformInternals.cpp

index f726e82..820dd38 100644 (file)
@@ -53,6 +53,11 @@ const Type *getStructOffsetType(const Type *Ty, unsigned &Offset,
   uint64_t ThisOffset;
   const Type *NextType;
   if (const StructType *STy = dyn_cast<StructType>(Ty)) {
+    if (STy->getElementTypes().empty()) {
+      Offset = 0;
+      return STy;
+    }
+
     ThisOffset = Offset;
     NextType = getStructOffsetStep(STy, ThisOffset, Indices, TD);
   } else if (const ArrayType *ATy = dyn_cast<ArrayType>(Ty)) {