Index: lib/Target/TargetData.cpp
===================================================================
RCS file: /var/cvs/llvm/llvm/lib/Target/TargetData.cpp,v
retrieving revision 1.53
diff -u -r1.53 TargetData.cpp
--- lib/Target/TargetData.cpp	2 Nov 2004 22:18:18 -0000	1.53
+++ lib/Target/TargetData.cpp	26 Nov 2004 09:46:45 -0000
@@ -175,6 +175,13 @@
     Size = AlignedSize*ATy->getNumElements();
     return;
   }
+  case Type::PackedTyID: {
+    const PackedType *PTy = cast<PackedType>(Ty);
+    getTypeInfo(PTy->getElementType(), TD, Size, Alignment);
+    unsigned AlignedSize = (Size + Alignment - 1)/Alignment*Alignment;
+    Size = AlignedSize*PTy->getNumElements();
+    return;
+  }
   case Type::StructTyID: {
     // Get the layout annotation... which is lazily created on demand.
     const StructLayout *Layout = TD->getStructLayout(cast<StructType>(Ty));
Index: lib/VMCore/Type.cpp
===================================================================
RCS file: /var/cvs/llvm/llvm/lib/VMCore/Type.cpp,v
retrieving revision 1.119
diff -u -r1.119 Type.cpp
--- lib/VMCore/Type.cpp	19 Nov 2004 16:39:44 -0000	1.119
+++ lib/VMCore/Type.cpp	1 Dec 2004 11:33:46 -0000
@@ -151,6 +151,9 @@
   if (const ArrayType *ATy = dyn_cast<ArrayType>(this))
     return ATy->getElementType()->isSized();
 
+  if (const PackedType *PTy = dyn_cast<PackedType>(this))
+    return PTy->getElementType()->isSized();
+
   if (!isa<StructType>(this)) return false;
 
   // Okay, our struct is sized if all of the elements are...
