This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATH: C++ Internal error 73
- To: gcc-patches at gnu dot org
- Subject: PATH: C++ Internal error 73
- From: Herman ten Brugge <Haj dot Ten dot Brugge at net dot HCC dot nl>
- Date: Fri, 28 Jan 2000 19:14:49 +0000 (WET)
- Cc: m dot hayes at elec dot canterbury dot ac dot nz (Michael Hayes)
Hello,
Michael Hayes sent a bug report:
http://gcc.gnu.org/ml/gcc-bugs/2000-01/msg00748.html
This problem is introduced by the libgcc2.c patch. Some time ago this
file was changed so that targets where QImode contains 32 bits (c4x)
could compile this code. Before this patch we had a define in t-c4x
'-DDF=HF -DDI=HI -DSF=QF -DSI=QI' that did this conversion in an ugly way.
After libgcc2.c was changed Michael removed this line from t-c4x. He
did not notice that tinfo.h also needed this define.
So to complete the change we also have to update tinfo.h to do the
same as libgcc2.c.
Herman
2000-01-28 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
* tinfo.h: Make USItype dependend on UNITS_PER_WORD.
--- tinfo.h.org Sun Jan 23 10:23:24 2000
+++ tinfo.h Tue Jan 18 22:00:18 2000
@@ -167,10 +167,18 @@ public:
// type_info for a general class.
+#if UNITS_PER_WORD > 2
+#define Wmode SI
+#elif UNITS_PER_WORD > 1
+#define Wmode HI
+#else
+#define Wmode QI
+#endif
+
#ifdef __GXX_ABI_VERSION
-typedef int USItype __attribute__ ((mode (SI)));
+typedef int USItype __attribute__ ((mode (Wmode)));
#else
-typedef unsigned int USItype __attribute__ ((mode (SI)));
+typedef unsigned int USItype __attribute__ ((mode (Wmode)));
#endif
struct __class_type_info : public __user_type_info {