
Module: ppl/ppl Branch: master Commit: 249b7edacac0f34bfb2daa1be601fc1aeff20874 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=249b7edacac0f...
Author: Marco Poletti poletti.marco@gmail.com Date: Sat Oct 29 14:04:21 2011 +0200
Avoid unsigned integer wrap-around in constant expressions. Detected by ECLAIR service cnstwrap.
---
src/CO_Tree.defs.hh | 4 ++-- src/CO_Tree.inlines.hh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/CO_Tree.defs.hh b/src/CO_Tree.defs.hh index f565ffd..fe72838 100644 --- a/src/CO_Tree.defs.hh +++ b/src/CO_Tree.defs.hh @@ -106,7 +106,7 @@ private: //! This is used for node heights and depths in the tree. typedef unsigned height_t;
- PPL_COMPILE_TIME_CHECK(-(height_t)1 >= CHAR_BITS*sizeof(dimension_type), + PPL_COMPILE_TIME_CHECK(C_Integer<height_t>::max >= CHAR_BITS*sizeof(dimension_type), "height_t is too small to store depths.");
class tree_iterator; @@ -1251,7 +1251,7 @@ private: /*! This must not be used as a key. */ - static const dimension_type unused_index = -(dimension_type)1; + static const dimension_type unused_index = C_Integer<dimension_type>::max;
//! The %iterator returned by end(). /*! diff --git a/src/CO_Tree.inlines.hh b/src/CO_Tree.inlines.hh index 8d12bab..9ff72a7 100644 --- a/src/CO_Tree.inlines.hh +++ b/src/CO_Tree.inlines.hh @@ -99,7 +99,7 @@ CO_Tree::size() const {
inline dimension_type CO_Tree::max_size() { - return (-dimension_type(1))/100; + return C_Integer<dimension_type>::max/100; }
inline void