A patch which implements the data structures, the reader, and the writers for the new code coverage mapping system.
Based on the earlier proposal: http://comments.gmane.org/gmane.comp.compilers.clang.devel/37289
The updated version of the patch that fixes various typos, adds format version to the coverage mapping format, changes the storage of filenames to once per tu, and adds document that describes the actual coverage mapping format.
Thanks again for the review, I've implemented the suggested changes. I also merged the coverage mapping data into one section - this reduced the object file size for the test programs by 4.5% on average.