id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 4881,TI compiler: compiling with integer.hpp fails,Krzysztof Czainski <1czajnik@…>,viboes,"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 { typedef int exact; }; template <> struct exact_unsigned_base_helper { 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 { typedef long exact; }; template <> struct exact_unsigned_base_helper { 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 ",Patches,closed,Boost 1.58.0,integer,Boost 1.45.0,Problem,fixed,,