DebugInfo: Allow the addition of other (such as static data) members to a record type after construction

Plus a type cleanup & minor fix to enumerate members of declarations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188577 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/IR/DebugInfo.cpp b/lib/IR/DebugInfo.cpp
index 0f7ddb5..cffc2ac 100644
--- a/lib/IR/DebugInfo.cpp
+++ b/lib/IR/DebugInfo.cpp
@@ -647,7 +647,7 @@
   DbgNode = N;
 }
 
-void DICompositeType::addMember(DISubprogram S) {
+void DICompositeType::addMember(DIDescriptor D) {
   SmallVector<llvm::Value *, 16> M;
   DIArray OrigM = getTypeArray();
   unsigned Elements = OrigM.getNumElements();
@@ -656,7 +656,7 @@
   M.reserve(Elements + 1);
   for (unsigned i = 0; i != Elements; ++i)
     M.push_back(OrigM.getElement(i));
-  M.push_back(S);
+  M.push_back(D);
   setTypeArray(DIArray(MDNode::get(DbgNode->getContext(), M)));
 }