Ticket #3177: MTA_integer_patch

File MTA_integer_patch, 1.5 KB (added by ngedmond, 13 years ago)
Line 
1Index: cstdint.hpp
2===================================================================
3--- cstdint.hpp (revision 53635)
4+++ cstdint.hpp (working copy)
5@@ -226,6 +226,15 @@
6 typedef short int_fast16_t;
7 typedef unsigned short uint_least16_t;
8 typedef unsigned short uint_fast16_t;
9+# elif (USHRT_MAX == 0xffffffff) && defined(__MTA__)
10+ // On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified
11+ // MTA / XMT does support the following non-standard integer types
12+ typedef __short16 int16_t;
13+ typedef __short16 int_least16_t;
14+ typedef __short16 int_fast16_t;
15+ typedef unsigned __short16 uint16_t;
16+ typedef unsigned __short16 uint_least16_t;
17+ typedef unsigned __short16 uint_fast16_t;
18 # else
19 # error defaults not correct; you must hand modify boost/cstdint.hpp
20 # endif
21@@ -246,6 +255,14 @@
22 typedef unsigned int uint32_t;
23 typedef unsigned int uint_least32_t;
24 typedef unsigned int uint_fast32_t;
25+# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__)
26+ // Integers are 64 bits on the MTA / XMT
27+ typedef __int32 int32_t;
28+ typedef __int32 int_least32_t;
29+ typedef __int32 int_fast32_t;
30+ typedef unsigned __int32 uint32_t;
31+ typedef unsigned __int32 uint_least32_t;
32+ typedef unsigned __int32 uint_fast32_t;
33 # else
34 # error defaults not correct; you must hand modify boost/cstdint.hpp
35 # endif