"Fix" PR3021, don't crash on generating record types when we can't
generate the type of a member.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58889 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp
index 478f862..08cd129 100644
--- a/lib/CodeGen/CGDebugInfo.cpp
+++ b/lib/CodeGen/CGDebugInfo.cpp
@@ -363,6 +363,7 @@
     for (unsigned int i =0; i < FTPro->getNumArgs(); i++) {
       QualType ParamType = FTPro->getArgType(i);
       ArgTy = getOrCreateType(ParamType, Unit);
+      // FIXME: Remove once we support all types.
       if (ArgTy) Elements.push_back(ArgTy);
     }
   }
@@ -407,8 +408,11 @@
   for (int i = 0; i < NumMembers; i++) {
     FieldDecl *Member = RecDecl->getMember(i);
     llvm::TypeDesc *MemberTy = getOrCreateType(Member->getType(), Unit);
-    MemberTy->setOffset(RL.getFieldOffset(i));
-    Elements.push_back(MemberTy);
+    // FIXME: Remove once we support all types.
+    if (MemberTy) {
+      MemberTy->setOffset(RL.getFieldOffset(i));
+      Elements.push_back(MemberTy);
+    }
   }
 
   // Fill in the blanks.