Boost logo

Boost :

From: Matthias Troyer (troyer_at_[hidden])
Date: 2003-01-19 10:29:55


I still have three problems with Cray C++ v. 3.6, but got some parts to
compile. They are:
i) a problem with template instantiation - here it seems that the
compiler might not be correctly installed on our system and I will talk
to the Cray engineers.
ii) static assertions do not work
iii) in some cases typenames in base classes are not found

While I am still working on these three issues, I could solve the
problem with cstdint.hpp. and have attached a context diff of the
changes. The main issue was that short is 32 bit and int is 64 bit on
the Cray:

--- cstdint.hpp 27 Dec 2002 16:51:52 -0000 1.28
+++ cstdint.hpp 19 Jan 2003 15:25:04 -0000
@@ -160,7 +160,11 @@

  // 16-bit types
-----------------------------------------------------------//

-# if USHRT_MAX == 0xffff
+# if USHRT_MAX == 0xffffffff
+ typedef short int_least16_t;
+ typedef unsigned short uint_least16_t;
+#define BOOST_NO_INT16_T
+# elif USHRT_MAX == 0xffff
       typedef short int16_t;
       typedef short int_least16_t;
       typedef short int_fast16_t;
@@ -187,6 +191,13 @@
       typedef unsigned int uint32_t;
       typedef unsigned int uint_least32_t;
       typedef unsigned int uint_fast32_t;
+# elif USHRT_MAX == 0xffffffff
+ typedef short int32_t;
+ typedef short int_least32_t;
+ typedef short int_fast32_t;
+ typedef unsigned short uint32_t;
+ typedef unsigned short uint_least32_t;
+ typedef unsigned short uint_fast32_t;
  # else
  # error defaults not correct; you must hand modify boost/cstdint.hpp
  # endif


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk