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