diff options
Diffstat (limited to 'gcc/coverage.c')
-rw-r--r-- | gcc/coverage.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/coverage.c b/gcc/coverage.c index 8a56a67..f57897b 100644 --- a/gcc/coverage.c +++ b/gcc/coverage.c @@ -663,8 +663,15 @@ coverage_begin_function (unsigned lineno_checksum, unsigned cfg_checksum) gcov_write_unsigned (cfg_checksum); gcov_write_string (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (current_function_decl))); + gcov_write_unsigned (DECL_ARTIFICIAL (current_function_decl)); gcov_write_filename (xloc.file); gcov_write_unsigned (xloc.line); + gcov_write_unsigned (xloc.column); + + expanded_location endloc = expand_location (cfun->function_end_locus); + + /* Function can start in a single file and end in another one. */ + gcov_write_unsigned (endloc.file == xloc.file ? endloc.line : xloc.line); gcov_write_length (offset); return !gcov_is_error (); |