X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fgcov-io.h;h=a874b32dc629d20a2ab3480a4534d49bf6b2ef89;hb=fa82692649ee531fb15b1a2f9828eae1173c946e;hp=76c0c9f06ddeecdcadcba6bfb540ba6c45057740;hpb=fcd42b1e55fb1fb044f703eac10788ba6aa3d1d7;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h index 76c0c9f06dd..a874b32dc62 100644 --- a/gcc/gcov-io.h +++ b/gcc/gcov-io.h @@ -18,8 +18,8 @@ for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. */ +Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301, USA. */ /* As a special exception, if you link this library with other files, some of which are compiled with GCC, to produce an executable, @@ -195,7 +195,7 @@ typedef signed gcov_type __attribute__ ((mode (QI))); #endif -#if defined (TARGET_HAS_F_SETLKW) +#if defined (TARGET_POSIX_IO) #define GCOV_LOCKED 1 #else #define GCOV_LOCKED 0 @@ -327,23 +327,33 @@ typedef HOST_WIDEST_INT gcov_type; #define GCOV_COUNTER_V_SINGLE 3 /* The most common value of expression. */ #define GCOV_COUNTER_V_DELTA 4 /* The most common difference between consecutive values of expression. */ -#define GCOV_LAST_VALUE_COUNTER 4 /* The last of counters used for value + +#define GCOV_COUNTER_V_INDIR 5 /* The most common indirect address */ +#define GCOV_COUNTER_AVERAGE 6 /* Compute average value passed to the + counter. */ +#define GCOV_COUNTER_IOR 7 /* IOR of the all values passed to + counter. */ +#define GCOV_LAST_VALUE_COUNTER 7 /* The last of counters used for value profiling. */ -#define GCOV_COUNTERS 5 +#define GCOV_COUNTERS 8 /* Number of counters used for value profiling. */ #define GCOV_N_VALUE_COUNTERS \ (GCOV_LAST_VALUE_COUNTER - GCOV_FIRST_VALUE_COUNTER + 1) /* A list of human readable names of the counters */ -#define GCOV_COUNTER_NAMES {"arcs", "interval", "pow2", "single", "delta"} +#define GCOV_COUNTER_NAMES {"arcs", "interval", "pow2", "single", \ + "delta","indirect_call", "average", "ior"} /* Names of merge functions for counters. */ #define GCOV_MERGE_FUNCTIONS {"__gcov_merge_add", \ "__gcov_merge_add", \ "__gcov_merge_add", \ "__gcov_merge_single", \ - "__gcov_merge_delta"} + "__gcov_merge_delta", \ + "__gcov_merge_single", \ + "__gcov_merge_add", \ + "__gcov_merge_ior"} /* Convert a counter index to a tag. */ #define GCOV_TAG_FOR_COUNTER(COUNT) \ @@ -461,6 +471,10 @@ extern void __gcov_merge_delta (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; extern void __gcov_interval_profiler (gcov_type *, gcov_type, int, unsigned); extern void __gcov_pow2_profiler (gcov_type *, gcov_type); extern void __gcov_one_value_profiler (gcov_type *, gcov_type); +extern void __gcov_indirect_call_profiler (gcov_type *, gcov_type, void *, void *); +extern void __gcov_average_profiler (gcov_type *, gcov_type); +extern void __gcov_ior_profiler (gcov_type *, gcov_type); +extern void __gcov_merge_ior (gcov_type *, unsigned); #ifndef inhibit_libc /* The wrappers around some library functions.. */