diff options
Diffstat (limited to 'docs/CoverageMappingFormat.rst')
| -rw-r--r-- | docs/CoverageMappingFormat.rst | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/docs/CoverageMappingFormat.rst b/docs/CoverageMappingFormat.rst index 46cc9d10f319..30b11fe2f31d 100644 --- a/docs/CoverageMappingFormat.rst +++ b/docs/CoverageMappingFormat.rst @@ -258,7 +258,7 @@ The coverage mapping variable generated by Clang has 3 fields: i32 2, ; The number of function records i32 20, ; The length of the string that contains the encoded translation unit filenames i32 20, ; The length of the string that contains the encoded coverage mapping data - i32 1, ; Coverage mapping format version + i32 2, ; Coverage mapping format version }, [2 x { i64, i32, i64 }] [ ; Function records { i64, i32, i64 } { @@ -274,6 +274,8 @@ The coverage mapping variable generated by Clang has 3 fields: [40 x i8] c"..." ; Encoded data (dissected later) }, section "__llvm_covmap", align 8 +The current version of the format is version 3. The only difference from version 2 is that a special encoding for column end locations was introduced to indicate gap regions. + The function record layout has evolved since version 1. In version 1, the function record for *foo* is defined as follows: .. code-block:: llvm @@ -296,7 +298,7 @@ The coverage mapping header has the following fields: * The length of the string in the third field of *__llvm_coverage_mapping* that contains the encoded coverage mapping data. -* The format version. The current version is 2 (encoded as a 1). +* The format version. The current version is 3 (encoded as a 2). .. _function records: @@ -602,4 +604,6 @@ The source range record contains the following fields: * *numLines*: The difference between the ending line and the starting line of the current mapping region. -* *columnEnd*: The ending column of the mapping region. +* *columnEnd*: The ending column of the mapping region. If the high bit is set, + the current mapping region is a gap area. A count for a gap area is only used + as the line execution count if there are no other regions on a line. |
