llvm-cov: Removed StringMap holding GCOVLines.
authorYuchen Wu <yuchenericwu@hotmail.com>
Thu, 14 Nov 2013 00:32:00 +0000 (00:32 +0000)
committerYuchen Wu <yuchenericwu@hotmail.com>
Thu, 14 Nov 2013 00:32:00 +0000 (00:32 +0000)
commit131a764e0e7abc90b322fd568e042d3c5a0633af
treed5844b31868fa1b75acd086e89644bec44313af3
parentdbb51ff01fd08df39e5040c1cd9edacdc3e4308a
llvm-cov: Removed StringMap holding GCOVLines.

According to the hazy gcov documentation, it appeared to be technically
possible for lines within a block to belong to different source files.
However, upon further investigation, gcov does not actually support
multiple source files for a single block.

This change removes a level of separation between blocks and lines by
replacing the StringMap of GCOVLines with a SmallVector of ints
representing line numbers. This also means that the GCOVLines class is
no longer needed.

This paves the way for supporting the "-a" option, which will output
block information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194637 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Support/GCOV.h
lib/IR/GCOV.cpp
test/tools/llvm-cov/Inputs/test_read_fail.gcno [new file with mode: 0644]