1/* coverage.h - Defines data exported from coverage.c 2 Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2007, 2008 3 Free Software Foundation, Inc. 4 5This file is part of GCC. 6 7GCC is free software; you can redistribute it and/or modify it under 8the terms of the GNU General Public License as published by the Free 9Software Foundation; either version 3, or (at your option) any later 10version. 11 12GCC is distributed in the hope that it will be useful, but WITHOUT ANY 13WARRANTY; without even the implied warranty of MERCHANTABILITY or 14FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15for more details. 16 17You should have received a copy of the GNU General Public License 18along with GCC; see the file COPYING3. If not see 19<http://www.gnu.org/licenses/>. */ 20 21#ifndef GCC_COVERAGE_H 22#define GCC_COVERAGE_H 23 24#include "gcov-io.h" 25 26extern void coverage_init (const char *); 27extern void coverage_finish (void); 28 29/* Complete the coverage information for the current function. Once 30 per function. */ 31extern void coverage_end_function (void); 32 33/* Start outputting coverage information for the current 34 function. Repeatable per function. */ 35extern int coverage_begin_output (void); 36 37/* Allocate some counters. Repeatable per function. */ 38extern int coverage_counter_alloc (unsigned /*counter*/, unsigned/*num*/); 39/* Use a counter from the most recent allocation. */ 40extern tree tree_coverage_counter_ref (unsigned /*counter*/, unsigned/*num*/); 41/* Use a counter address from the most recent allocation. */ 42extern tree tree_coverage_counter_addr (unsigned /*counter*/, unsigned/*num*/); 43 44/* Get all the counters for the current function. */ 45extern gcov_type *get_coverage_counts (unsigned /*counter*/, 46 unsigned /*expected*/, 47 const struct gcov_ctr_summary **); 48 49extern tree get_gcov_type (void); 50 51#endif 52