OSDN Git Service

* config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with
[pf3gnuchains/gcc-fork.git] / gcc / gcov-io.h
index fd5755f..0254632 100644 (file)
@@ -148,7 +148,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
    program.  The checksum is used for whole program summaries, and
    disambiguates different programs which include the same
    instrumented object file.  There may be several program summaries,
-   each with a unique checksum.  The object summary's checkum is zero.
+   each with a unique checksum.  The object summary's checksum is zero.
    Note that the data file might contain information from several runs
    concatenated, or the data might be merged.
 
@@ -167,6 +167,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 #if IN_LIBGCOV
 /* About the target */
 
+#if BITS_PER_UNIT == 8
 typedef unsigned gcov_unsigned_t __attribute__ ((mode (SI)));
 typedef unsigned gcov_position_t __attribute__ ((mode (SI)));
 #if LONG_LONG_TYPE_SIZE > 32
@@ -174,6 +175,26 @@ typedef signed gcov_type __attribute__ ((mode (DI)));
 #else
 typedef signed gcov_type __attribute__ ((mode (SI)));
 #endif
+#else
+#if BITS_PER_UNIT == 16
+typedef unsigned gcov_unsigned_t __attribute__ ((mode (HI)));
+typedef unsigned gcov_position_t __attribute__ ((mode (HI)));
+#if LONG_LONG_TYPE_SIZE > 32
+typedef signed gcov_type __attribute__ ((mode (SI)));
+#else
+typedef signed gcov_type __attribute__ ((mode (HI)));
+#endif
+#else
+typedef unsigned gcov_unsigned_t __attribute__ ((mode (QI)));
+typedef unsigned gcov_position_t __attribute__ ((mode (QI)));
+#if LONG_LONG_TYPE_SIZE > 32
+typedef signed gcov_type __attribute__ ((mode (HI)));
+#else
+typedef signed gcov_type __attribute__ ((mode (QI)));
+#endif
+#endif
+#endif
+
 
 #if defined (TARGET_HAS_F_SETLKW)
 #define GCOV_LOCKED 1
@@ -286,13 +307,24 @@ typedef HOST_WIDEST_INT gcov_type;
 #define GCOV_COUNTER_ARCS      0  /* Arc transitions.  */
 #define GCOV_COUNTERS_SUMMABLE 1  /* Counters which can be
                                      summaried.  */
+#define GCOV_FIRST_VALUE_COUNTER 1 /* The first of counters used for value
+                                     profiling.  They must form a consecutive
+                                     interval and their order must match
+                                     the order of HIST_TYPEs in
+                                     value-prof.h.  */
 #define GCOV_COUNTER_V_INTERVAL        1  /* Histogram of value inside an interval.  */
 #define GCOV_COUNTER_V_POW2    2  /* Histogram of exact power2 logarithm
                                      of a value.  */
 #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
+                                     profiling.  */
 #define GCOV_COUNTERS          5
+
+/* 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"}