<div dir="ltr"><div>I'm sending the test.<br><br></div>That's the first time that I'm sending code for an open source project, so let me know if I did something wrong ;)<br></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><span style="color:rgb(102,102,102)">Vanderson M. Rosario</span><br></div></div></div>
<br><div class="gmail_quote">2015-02-05 17:25 GMT-02:00 Justin Bogner <span dir="ltr"><<a href="mailto:mail@justinbogner.com" target="_blank">mail@justinbogner.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Vanderson Martins do Rosario <<a href="mailto:vandersonmr2@gmail.com">vandersonmr2@gmail.com</a>> writes:<br>
> FIX bug 22436. llvm-cov now allows to continuing reading gcda file if it has<br>
> arcs from exit block, and just showing a message warning about that in the<br>
> same way as GNU gcov.<br>
<br>
</span>Can you add a test for this please?<br>
<br>
> Vanderson M. Rosario<br>
><br>
><br>
> diff --git a/lib/IR/GCOV.cpp b/lib/IR/GCOV.cpp<br>
> index 245c500..c43cb99 100644<br>
> --- a/lib/IR/GCOV.cpp<br>
> +++ b/lib/IR/GCOV.cpp<br>
> @@ -263,10 +263,13 @@ bool GCOVFunction::readGCDA(GCOVBuffer &Buff, GCOV::GCOVVersion Version) {<br>
>    // required to combine the edge counts that are contained in the GCDA file.<br>
>    for (uint32_t BlockNo = 0; Count > 0; ++BlockNo) {<br>
>      // The last block is always reserved for exit block<br>
> -    if (BlockNo >= Blocks.size()-1) {<br>
> +    if (BlockNo > Blocks.size()-1) {<br>
>        errs() << "Unexpected number of edges (in " << Name << ").\n";<br>
>        return false;<br>
>      }<br>
> +    if (BlockNo == Blocks.size()-1) {<br>
> +      errs() << "(" << Name << ") has arcs from exit block.\n";<br>
> +    }<br>
>      GCOVBlock &Block = *Blocks[BlockNo];<br>
>      for (size_t EdgeNo = 0, End = Block.getNumDstEdges(); EdgeNo < End;<br>
>             ++EdgeNo) {<br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>