summaryrefslogtreecommitdiff
path: root/ace/config-irix6.x-g++.h
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-04-07 20:24:49 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-04-07 20:24:49 +0000
commit6b9059994a645494dcf76fb3a1a24baab68e47eb (patch)
tree144dad2436d08028d31d783ea7a7dbe4b43c7165 /ace/config-irix6.x-g++.h
parent481f0393c61094d31642ab2a4ce158bfb8cce215 (diff)
downloadATCD-6b9059994a645494dcf76fb3a1a24baab68e47eb.tar.gz
fixed ACE_SIZEOF_LONG_DOUBLE determination
Diffstat (limited to 'ace/config-irix6.x-g++.h')
-rw-r--r--ace/config-irix6.x-g++.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/ace/config-irix6.x-g++.h b/ace/config-irix6.x-g++.h
index 9e309e4da19..b52175681d6 100644
--- a/ace/config-irix6.x-g++.h
+++ b/ace/config-irix6.x-g++.h
@@ -10,9 +10,19 @@
#include "ace/config-g++-common.h"
// The Irix 6.x float.h doesn't allow us to distinguish between a
-// double and a long double. So, we have to hard-code this. We
-// assume that it is necessary on Irix 5.3 also.
-#define ACE_SIZEOF_LONG_DOUBLE 16
+// double and a long double. So, we have to hard-code this. Thanks
+// to Bob Laferriere <laferrie@gsao.med.ge.com> for figuring it out.
+#if defined (_MIPS_SIM) // 6.X System
+# if defined (_ABI64) && (_MIPS_SIM == _ABI64)
+# define ACE_SIZEOF_LONG_DOUBLE 16
+# elif defined (_NABI32) && (_MIPS_SIM == _NABI32)
+# define ACE_SIZEOF_LONG_DOUBLE 16
+# elif defined (_ABIO32) && (_MIPS_SIM == _ABIO32)
+# define ACE_SIZEOF_LONG_DOUBLE 8
+# endif
+#else
+# define ACE_SIZEOF_LONG_DOUBLE 8 // 5.3 System
+#endif
// Platform supports the very odd IRIX 6.2 threads...
#define ACE_HAS_IRIX62_THREADS