[llvm] r210299 - Fix null dereference with -debug-only=dwarfdebug

Justin Bogner mail at justinbogner.com
Mon Jun 9 09:02:07 PDT 2014


Alexey Samsonov <vonosmas at gmail.com> writes:
> --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Thu Jun  5 18:10:19 2014
> @@ -1220,6 +1220,11 @@ DwarfDebug::collectVariableInfo(SmallPtr
>        if (Begin->getNumOperands() > 1 && Begin->getOperand(0).isReg() &&
>            !Begin->getOperand(0).getReg())
>          continue;
> +      DEBUG(dbgs() << "DotDebugLoc Pair:\n" << "\t" << *Begin);
> +      if (End != nullptr)
> +        DEBUG(dbgs() << "\t" << *End);

Missed a newline here?

> +      else
> +        DEBUG(dbgs() << "\tNULL\n");
>  
>        const MCSymbol *StartLabel = getLabelBeforeInsn(Begin);
>        assert(StartLabel && "Forgot label before DBG_VALUE starting a range!");
> @@ -1233,8 +1238,6 @@ DwarfDebug::collectVariableInfo(SmallPtr
>          EndLabel = getLabelBeforeInsn(std::next(I)->first);
>        assert(EndLabel && "Forgot label after instruction ending a range!");
>  
> -      DEBUG(dbgs() << "DotDebugLoc Pair:\n"
> -                   << "\t" << *Begin << "\t" << *End << "\n");
>        DebugLocEntry Loc(StartLabel, EndLabel, getDebugLocValue(Begin), TheCU);
>        if (DebugLoc.empty() || !DebugLoc.back().Merge(Loc))
>          DebugLoc.push_back(std::move(Loc));



More information about the llvm-commits mailing list