comparison gcc/gcov-io.h @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents a06113de4d67
children 04ced10e8804
comparison
equal deleted inserted replaced
52:c156f1bd5cd9 55:77e2b8dfacca
59 from gcc's version number. The stamp value is used to synchronize 59 from gcc's version number. The stamp value is used to synchronize
60 note and data files and to synchronize merging within a data 60 note and data files and to synchronize merging within a data
61 file. It need not be an absolute time stamp, merely a ticker that 61 file. It need not be an absolute time stamp, merely a ticker that
62 increments fast enough and cycles slow enough to distinguish 62 increments fast enough and cycles slow enough to distinguish
63 different compile/run/compile cycles. 63 different compile/run/compile cycles.
64 64
65 Although the ident and version are formally 32 bit numbers, they 65 Although the ident and version are formally 32 bit numbers, they
66 are derived from 4 character ASCII strings. The version number 66 are derived from 4 character ASCII strings. The version number
67 consists of the single character major version number, a two 67 consists of the single character major version number, a two
68 character minor version number (leading zero for versions less than 68 character minor version number (leading zero for versions less than
69 10), and a single character indicating the status of the release. 69 10), and a single character indicating the status of the release.
336 #define GCOV_COUNTERS 8 336 #define GCOV_COUNTERS 8
337 337
338 /* Number of counters used for value profiling. */ 338 /* Number of counters used for value profiling. */
339 #define GCOV_N_VALUE_COUNTERS \ 339 #define GCOV_N_VALUE_COUNTERS \
340 (GCOV_LAST_VALUE_COUNTER - GCOV_FIRST_VALUE_COUNTER + 1) 340 (GCOV_LAST_VALUE_COUNTER - GCOV_FIRST_VALUE_COUNTER + 1)
341 341
342 /* A list of human readable names of the counters */ 342 /* A list of human readable names of the counters */
343 #define GCOV_COUNTER_NAMES {"arcs", "interval", "pow2", "single", \ 343 #define GCOV_COUNTER_NAMES {"arcs", "interval", "pow2", "single", \
344 "delta","indirect_call", "average", "ior"} 344 "delta","indirect_call", "average", "ior"}
345 345
346 /* Names of merge functions for counters. */ 346 /* Names of merge functions for counters. */
347 #define GCOV_MERGE_FUNCTIONS {"__gcov_merge_add", \ 347 #define GCOV_MERGE_FUNCTIONS {"__gcov_merge_add", \
348 "__gcov_merge_add", \ 348 "__gcov_merge_add", \
349 "__gcov_merge_add", \ 349 "__gcov_merge_add", \
350 "__gcov_merge_single", \ 350 "__gcov_merge_single", \
351 "__gcov_merge_delta", \ 351 "__gcov_merge_delta", \
352 "__gcov_merge_single", \ 352 "__gcov_merge_single", \
353 "__gcov_merge_add", \ 353 "__gcov_merge_add", \
354 "__gcov_merge_ior"} 354 "__gcov_merge_ior"}
355 355
356 /* Convert a counter index to a tag. */ 356 /* Convert a counter index to a tag. */
357 #define GCOV_TAG_FOR_COUNTER(COUNT) \ 357 #define GCOV_TAG_FOR_COUNTER(COUNT) \
358 (GCOV_TAG_COUNTER_BASE + ((gcov_unsigned_t)(COUNT) << 17)) 358 (GCOV_TAG_COUNTER_BASE + ((gcov_unsigned_t)(COUNT) << 17))
359 /* Convert a tag to a counter. */ 359 /* Convert a tag to a counter. */
360 #define GCOV_COUNTER_FOR_TAG(TAG) \ 360 #define GCOV_COUNTER_FOR_TAG(TAG) \
436 gcov_unsigned_t version; /* expected version number */ 436 gcov_unsigned_t version; /* expected version number */
437 struct gcov_info *next; /* link to next, used by libgcov */ 437 struct gcov_info *next; /* link to next, used by libgcov */
438 438
439 gcov_unsigned_t stamp; /* uniquifying time stamp */ 439 gcov_unsigned_t stamp; /* uniquifying time stamp */
440 const char *filename; /* output file name */ 440 const char *filename; /* output file name */
441 441
442 unsigned n_functions; /* number of functions */ 442 unsigned n_functions; /* number of functions */
443 const struct gcov_fn_info *functions; /* table of functions */ 443 const struct gcov_fn_info *functions; /* table of functions */
444 444
445 unsigned ctr_mask; /* mask of counters instrumented. */ 445 unsigned ctr_mask; /* mask of counters instrumented. */
446 struct gcov_ctr_info counts[0]; /* count data. The number of bits 446 struct gcov_ctr_info counts[0]; /* count data. The number of bits
467 467
468 /* The merge function that just ors the counters together. */ 468 /* The merge function that just ors the counters together. */
469 extern void __gcov_merge_ior (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; 469 extern void __gcov_merge_ior (gcov_type *, unsigned) ATTRIBUTE_HIDDEN;
470 470
471 /* The profiler functions. */ 471 /* The profiler functions. */
472 extern void __gcov_interval_profiler (gcov_type *, gcov_type, int, unsigned); 472 extern void __gcov_interval_profiler (gcov_type *, gcov_type, int, unsigned);
473 extern void __gcov_pow2_profiler (gcov_type *, gcov_type); 473 extern void __gcov_pow2_profiler (gcov_type *, gcov_type);
474 extern void __gcov_one_value_profiler (gcov_type *, gcov_type); 474 extern void __gcov_one_value_profiler (gcov_type *, gcov_type);
475 extern void __gcov_indirect_call_profiler (gcov_type *, gcov_type, void *, void *); 475 extern void __gcov_indirect_call_profiler (gcov_type *, gcov_type, void *, void *);
476 extern void __gcov_average_profiler (gcov_type *, gcov_type); 476 extern void __gcov_average_profiler (gcov_type *, gcov_type);
477 extern void __gcov_ior_profiler (gcov_type *, gcov_type); 477 extern void __gcov_ior_profiler (gcov_type *, gcov_type);