GCC主要数据结构之struct gcov_info

来源:互联网 发布:sqlserver安装错误 编辑:程序博客网 时间:2024/06/05 23:08
GCC:libgcc/libgcov.h
typedef unsigned gcov_unsigned_t;typedef unsigned gcov_position_t;
 
/* Type of function used to merge counters.  */typedef void (*gcov_merge_fn) (gcov_type *, gcov_unsigned_t);
 

/* Information about a single object file.  */struct gcov_info{  gcov_unsigned_t version; /* expected version number */  struct gcov_info *next; /* link to next, used by libgcov */

  gcov_unsigned_t stamp; /* uniquifying time stamp */  const char *filename;  /* output file name */

  gcov_merge_fn merge[GCOV_COUNTERS];  /* merge functions (null for       unused) */    unsigned n_functions;  /* number of functions */

#ifndef IN_GCOV_TOOL  const struct gcov_fn_info *const *functions; /* pointer to pointers                                                  to function information  */#else  const struct gcov_fn_info **functions;#endif /* !IN_GCOV_TOOL */};

/* Information about a single function.  This uses the trailing array   idiom. The number of counters is determined from the merge pointer   array in gcov_info.  The key is used to detect which of a set of   comdat functions was selected -- it points to the gcov_info object   of the object file containing the selected comdat function.  */

struct gcov_fn_info{  const struct gcov_info *key;  /* comdat key */  gcov_unsigned_t ident;  /* unique ident of function */  gcov_unsigned_t lineno_checksum; /* function lineo_checksum */  gcov_unsigned_t cfg_checksum;  /* function cfg checksum */  struct gcov_ctr_info ctrs[1];  /* instrumented counters */};

 

 
0 0
原创粉丝点击