@@ -247,13 +247,15 @@ void DebugPDB::Finalize()
247247 {
248248 if (element->getBaseType ()->getName ().startswith (" p<" ))
249249 {
250- if (auto basetype = llvm::dyn_cast<llvm::DICompositeType>(element->getBaseType ());
251- basetype->getElements ().size () > 0 )
252- if (auto baseelement = llvm::dyn_cast<llvm::DIType>(basetype->getElements ()[0 ]);
253- !baseelement->getName ().empty ())
250+ auto basetype = llvm::dyn_cast<llvm::DICompositeType>(element->getBaseType ());
251+ if (basetype->getElements ().size () > 0 )
252+ {
253+ auto baseelement = llvm::dyn_cast<llvm::DIType>(basetype->getElements ()[0 ]);
254+ if (!baseelement->getName ().empty ())
254255 aux += FormatString (true , " {0}:{({1})({2}.m0 + *(unsigned int*)(&this->{0}))}}" , element->getName (),
255256 baseelement->getName (), expr[0 ]->getVariable ()->getName (),
256257 element->getOffsetInBits () / 8 );
258+ }
257259
258260 _compiler->natvis +=
259261 FormatString (true , " <Item Name=\" {0}\" >({1}*)(*(unsigned int*)({2}.m0+(unsigned int)this+{3}))</Item>" ,
@@ -281,8 +283,11 @@ void DebugPDB::Finalize()
281283 for (auto * e : composite->getElements ())
282284 {
283285 if (auto * subrange = llvm::dyn_cast<llvm::DISubrange>(e))
284- if (auto * data = subrange->getCount ().dyn_cast <llvm::ConstantInt*>(); true )
286+ {
287+ auto * data = subrange->getCount ().dyn_cast <llvm::ConstantInt*>();
288+ if (data != nullptr )
285289 count = data->getSExtValue ();
290+ }
286291 }
287292
288293 aux += FormatString (true , " {0}:{this->{0}} " , element->getName ());
0 commit comments