forked from boostorg/integer
moved check, because different unsigned types may have different
representations for -1 (e.g. (unsigned char)-1 and (unsigned int)-1) [SVN r11174]
This commit is contained in:
@ -99,6 +99,8 @@ void integral_constant_type_check(T1, T2)
|
|||||||
// numeric_limits implementations currently
|
// numeric_limits implementations currently
|
||||||
// vary too much, or are incomplete or missing.
|
// vary too much, or are incomplete or missing.
|
||||||
//
|
//
|
||||||
|
T1 t1 = -1;
|
||||||
|
T2 t2 = -1;
|
||||||
#if defined(BOOST_HAS_STDINT_H)
|
#if defined(BOOST_HAS_STDINT_H)
|
||||||
// if we have a native stdint.h
|
// if we have a native stdint.h
|
||||||
// then the INTXX_C macros may define
|
// then the INTXX_C macros may define
|
||||||
@ -106,10 +108,8 @@ void integral_constant_type_check(T1, T2)
|
|||||||
assert(sizeof(T1) <= sizeof(T2));
|
assert(sizeof(T1) <= sizeof(T2));
|
||||||
#else
|
#else
|
||||||
assert(sizeof(T1) == sizeof(T2));
|
assert(sizeof(T1) == sizeof(T2));
|
||||||
#endif
|
|
||||||
T1 t1 = -1;
|
|
||||||
T2 t2 = -1;
|
|
||||||
assert(t1 == t2);
|
assert(t1 == t2);
|
||||||
|
#endif
|
||||||
if(t1 >= 0)
|
if(t1 >= 0)
|
||||||
assert(t2 >= 0);
|
assert(t2 >= 0);
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user