diff options
author | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-09-17 20:13:17 +0000 |
---|---|---|
committer | nathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-09-17 20:13:17 +0000 |
commit | bc587267bd85c2b30d8c0e8448ee6a5739271516 (patch) | |
tree | d63e4fa5645e26ab19e311988498d7daa883d937 /libgcc/libgcov.h | |
parent | 4e9d716449178cb0f04ac33efe1039debc2bb18f (diff) | |
download | gcc-bc587267bd85c2b30d8c0e8448ee6a5739271516.tar.gz |
* Makefile.in (LIBGCOV_INTERFACE): Add _gcov_dump from ...
(LIBGCOV_DRIVER): ... here.
* libgcov-driver.c (gcov_master): New.
(gcov_exit): Remove from master chain.
(__gcov_init): Add to master chain if version compatible. Don't
clear the version.
* libgcov_interface (__gcov_flust): Call gcov_dump_int.
(gcov_reset_int): Clear master chain, if compatible.
(gcov_dump_int): New internal interface. Dump master chain, if
compatible.
(gcov_dump): Alias for gcov_dump_int.
* libgcov.h (struct gcov_root): Add next and prev fields.
(struct gcov_master): New struct.
(__gcov_master): New.
(gcov_dump_int): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215337 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc/libgcov.h')
-rw-r--r-- | libgcc/libgcov.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/libgcc/libgcov.h b/libgcc/libgcov.h index 98a15d134a7..3816b6a7090 100644 --- a/libgcc/libgcov.h +++ b/libgcc/libgcov.h @@ -212,10 +212,21 @@ struct gcov_root struct gcov_info *list; unsigned dumped : 1; /* counts have been dumped. */ unsigned run_counted : 1; /* run has been accounted for. */ + struct gcov_root *next; + struct gcov_root *prev; }; extern struct gcov_root __gcov_root ATTRIBUTE_HIDDEN; +struct gcov_master +{ + gcov_unsigned_t version; + struct gcov_root *root; +}; + +/* Exactly one of these will be active in the process. */ +extern struct gcov_master __gcov_master; + /* Dump a set of gcov objects. */ extern void __gcov_dump_one (struct gcov_root *) ATTRIBUTE_HIDDEN; @@ -230,8 +241,9 @@ extern void __gcov_flush (void) ATTRIBUTE_HIDDEN; extern void __gcov_reset (void); extern void __gcov_reset_int (void) ATTRIBUTE_HIDDEN; -/* Function to enable early write of profile information so far. */ +/* User function to enable early write of profile information so far. */ extern void __gcov_dump (void); +extern void __gcov_dump_int (void) ATTRIBUTE_HIDDEN; /* The merge function that just sums the counters. */ extern void __gcov_merge_add (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; |