aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/gcov-io.h21
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0d65cdc..ffb97d3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Fri Oct 10 18:54:39 CEST 2003 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
+
+ * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
+ gcov_position_t and gcov_type.
+
2003-10-09 Kaz Kojima <kkojima@gcc.gnu.org>
* configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h
index e1506ba..0254632 100644
--- a/gcc/gcov-io.h
+++ b/gcc/gcov-io.h
@@ -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