Mercurial > hg > CbC > CbC_gcc
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); |