-@c Copyright (C) 1996-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1996-2020 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@ignore
@c man begin COPYRIGHT
-Copyright @copyright{} 1996-2019 Free Software Foundation, Inc.
+Copyright @copyright{} 1996-2020 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@smallexample
@{
"current_working_directory": @var{current_working_directory},
+ "data_file": @var{data_file},
"format_version": @var{format_version},
"gcc_version": @var{gcc_version}
"files": [@var{file}]
@var{current_working_directory}: working directory where
a compilation unit was compiled
+@item
+@var{data_file}: name of the data file (GCDA)
+
@item
@var{format_version}: semantic version of the format
"blocks": @var{blocks},
"blocks_executed": @var{blocks_executed},
"demangled_name": "@var{demangled_name},
+ "end_column": @var{end_column},
"end_line": @var{end_line},
"execution_count": @var{execution_count},
"name": @var{name},
+ "start_column": @var{start_column}
"start_line": @var{start_line}
@}
@end smallexample
@item
@var{demangled_name}: demangled name of the function
+@item
+@var{end_column}: column in the source file where the function ends
+
@item
@var{end_line}: line in the source file where the function ends
@item
@var{name}: name of the function
+@item
+@var{start_column}: column in the source file where the function begins
+
@item
@var{start_line}: line in the source file where the function begins
@end itemize
+Note that line numbers and column numbers number from 1. In the current
+implementation, @var{start_line} and @var{start_column} do not include
+any template parameters and the leading return type but that
+this is likely to be fixed in the future.
+
Each @var{line} has the following form:
@smallexample
@item
@var{unexecuted_block}: flag whether the line contains an unexecuted block
(not all statements on the line are executed)
-@end itemize
@item
@var{function_name}: a name of a function this @var{line} belongs to
(for a line with an inlined statements can be not set)
+@end itemize
Each @var{branch} has the following form:
@item -x
@itemx --hash-filenames
-By default, gcov uses the full pathname of the source files to create
+When using @var{--preserve-paths},
+gcov uses the full pathname of the source files to create
an output filename. This can lead to long filenames that can overflow
filesystem limits. This option creates names of the form
@file{@var{source-file}##@var{md5}.gcov},
where the @var{source-file} component is the final filename part and
the @var{md5} component is calculated from the full mangled name that
-would have been used otherwise.
+would have been used otherwise. The option is an alternative
+to the @var{--preserve-paths} on systems which have a filesystem limit.
@end table