diff options
author | Nathan Sidwell <nathan@acm.org> | 2014-09-17 20:13:17 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2014-09-17 20:13:17 +0000 |
commit | cadb2b96890ca65acba6837c24e67f074826f7fa (patch) | |
tree | d63e4fa5645e26ab19e311988498d7daa883d937 /libgcc/libgcov.h | |
parent | c83ee180191ab19daabee8edefa3e8cf4d00b67f (diff) | |
download | gcc-cadb2b96890ca65acba6837c24e67f074826f7fa.zip gcc-cadb2b96890ca65acba6837c24e67f074826f7fa.tar.gz gcc-cadb2b96890ca65acba6837c24e67f074826f7fa.tar.bz2 |
Makefile.in (LIBGCOV_INTERFACE): Add _gcov_dump from ...
* 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.
From-SVN: r215337
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 98a15d1..3816b6a 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; |