Opened 12 years ago
Closed 8 years ago
#4881 closed Patches (fixed)
TI compiler: compiling with integer.hpp fails
Reported by: | Owned by: | viboes | |
---|---|---|---|
Milestone: | Boost 1.58.0 | Component: | integer |
Version: | Boost 1.45.0 | Severity: | Problem |
Keywords: | Cc: |
Description
Hello,
1.45.0 is the seventh version of boost, which I am successfully using with a Texas Instruments compiler (actually, only some header-only parts of boost).
However, for every new version of boost i must make this change in boost:
Index: integer.hpp =================================================================== --- integer.hpp (revision 41) +++ integer.hpp (working copy) @@ -89,7 +89,8 @@ template <> struct exact_signed_base_helper<sizeof(int)* CHAR_BIT> { typedef int exact; }; template <> struct exact_unsigned_base_helper<sizeof(unsigned int)* CHAR_BIT> { typedef unsigned int exact; }; #endif -#if ULONG_MAX != UINT_MAX +#if ULONG_MAX != UINT_MAX && ( !defined __TI_COMPILER_VERSION__ || \ + ( __TI_COMPILER_VERSION__ >= 7000000 && !defined __TI_40BIT_LONG__ ) ) template <> struct exact_signed_base_helper<sizeof(long)* CHAR_BIT> { typedef long exact; }; template <> struct exact_unsigned_base_helper<sizeof(unsigned long)* CHAR_BIT> { typedef unsigned long exact; }; #endif
The change is needed in order to avoid compilation errors about redefined exact_[un]signed_base_helper.
The condition
( !defined __TI_COMPILER_VERSION__ || \ ( __TI_COMPILER_VERSION__ >= 7000000 && !defined __TI_40BIT_LONG__ ) )
excludes cases, where sizeof(long)==8, but long the compiler treats it as a 40-bit integer.
So I thought maybe this could be resolved once and for all ;-)
Cheers Kris
Change History (4)
comment:1 by , 12 years ago
Type: | Bugs → Patches |
---|
comment:2 by , 8 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:3 by , 8 years ago
Milestone: | To Be Determined → Boost 1.58.0 |
---|
comment:4 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Note:
See TracTickets
for help on using tickets.
https://github.com/boostorg/integer/commit/a12b96c011ade69cd38cfa33add39b51e86723d0