Try again to fix MSVC build after r234290
[oota-llvm.git] / lib / CodeGen / AsmPrinter / DwarfUnit.cpp
index baa99758e3cd5f23c5eff1ba2c2342bf145feacb..dadc9ba59a21b835a7f24ceba6be5a7781c945b5 100644 (file)
@@ -1015,11 +1015,11 @@ void DwarfUnit::constructTypeDIE(DIE &Buffer, DICompositeType CTy) {
     // Add return type. A void return won't have a type.
     auto Elements = cast<MDSubroutineType>(CTy)->getTypeArray();
     if (Elements.size())
-      if (MDType *RTy = resolve(Elements[0]))
+      if (MDType *RTy = resolve(DITypeRef(Elements[0])))
         addType(Buffer, RTy);
 
     bool isPrototyped = true;
-    if (Elements.size() == 2 && !Elements[1])
+    if (Elements.size() == 2 && !DITypeRef(Elements[1]))
       isPrototyped = false;
 
     constructSubprogramArguments(Buffer, Elements);
@@ -1318,7 +1318,7 @@ void DwarfUnit::applySubprogramAttributes(DISubprogram SP, DIE &SPDie,
   // Add a return type. If this is a type like a C/C++ void type we don't add a
   // return type.
   if (Args.size())
-    if (MDType *Ty = resolve(Args[0]))
+    if (MDType *Ty = resolve(DITypeRef(Args[0])))
       addType(SPDie, Ty);
 
   unsigned VK = SP.getVirtuality();