1132718Skan/* coverage.h - Defines data exported from coverage.c
2169689Skan   Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005
3169689Skan   Free Software Foundation, Inc.
4132718Skan
5132718SkanThis file is part of GCC.
6132718Skan
7132718SkanGCC is free software; you can redistribute it and/or modify it under
8132718Skanthe terms of the GNU General Public License as published by the Free
9132718SkanSoftware Foundation; either version 2, or (at your option) any later
10132718Skanversion.
11132718Skan
12132718SkanGCC is distributed in the hope that it will be useful, but WITHOUT ANY
13132718SkanWARRANTY; without even the implied warranty of MERCHANTABILITY or
14132718SkanFITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15132718Skanfor more details.
16132718Skan
17132718SkanYou should have received a copy of the GNU General Public License
18132718Skanalong with GCC; see the file COPYING.  If not, write to the Free
19169689SkanSoftware Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
20169689Skan02110-1301, USA.  */
21132718Skan
22132718Skan#ifndef GCC_COVERAGE_H
23132718Skan#define GCC_COVERAGE_H
24132718Skan
25132718Skan#include "gcov-io.h"
26132718Skan
27132718Skanextern void coverage_init (const char *);
28132718Skanextern void coverage_finish (void);
29132718Skan
30132718Skan/* Complete the coverage information for the current function. Once
31132718Skan   per function.  */
32132718Skanextern void coverage_end_function (void);
33132718Skan
34132718Skan/* Start outputting coverage information for the current
35132718Skan   function. Repeatable per function.  */
36132718Skanextern int coverage_begin_output (void);
37132718Skan
38132718Skan/* Allocate some counters. Repeatable per function.  */
39132718Skanextern int coverage_counter_alloc (unsigned /*counter*/, unsigned/*num*/);
40132718Skan/* Use a counter from the most recent allocation.  */
41169689Skanextern tree tree_coverage_counter_ref (unsigned /*counter*/, unsigned/*num*/);
42132718Skan
43132718Skan/* Get all the counters for the current function.  */
44132718Skanextern gcov_type *get_coverage_counts (unsigned /*counter*/,
45132718Skan				       unsigned /*expected*/,
46132718Skan				       const struct gcov_ctr_summary **);
47132718Skan
48169689Skanextern tree get_gcov_type (void);
49169689Skan
50132718Skan#endif
51