[llvm] r305617 - Don't crash if a type record can't be found.
David Blaikie via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 19 09:51:21 PDT 2017
Was this already covered by tests/picked up by a buildbot when the
regression was introduced?
On Fri, Jun 16, 2017 at 5:02 PM Zachary Turner via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Author: zturner
> Date: Fri Jun 16 19:02:24 2017
> New Revision: 305617
>
> URL: http://llvm.org/viewvc/llvm-project?rev=305617&view=rev
> Log:
> Don't crash if a type record can't be found.
>
> This was a regression introduced in a previous patch. Adding
> back the code that handles this case.
>
> Modified:
> llvm/trunk/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp
>
> Modified: llvm/trunk/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp?rev=305617&r1=305616&r2=305617&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp
> (original)
> +++ llvm/trunk/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp Fri Jun
> 16 19:02:24 2017
> @@ -75,6 +75,15 @@ StringRef LazyRandomTypeCollection::getT
> if (Index.isNoneType() || Index.isSimple())
> return TypeIndex::simpleTypeName(Index);
>
> + // Try to make sure the type exists. Even if it doesn't though, it may
> be
> + // because we're dumping a symbol stream with no corresponding type
> stream
> + // present, in which case we still want to be able to print <unknown
> UDT>
> + // for the type names.
> + if (auto EC = ensureTypeExists(Index)) {
> + consumeError(std::move(EC));
> + return "<unknown UDT>";
> + }
> +
> uint32_t I = Index.toArrayIndex();
> if (I >= TypeNames.size())
> TypeNames.resize(I + 1);
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170619/2109f1f4/attachment.html>
More information about the llvm-commits
mailing list