Index: generator.hpp =================================================================== --- generator.hpp (revision 83422) +++ generator.hpp (working copy) @@ -9,6 +9,7 @@ #include "char_traits.hpp" // memcmp() #include +#include #include "partition/charset.hpp" #include "partition/equivset.hpp" #include @@ -560,7 +561,7 @@ if (token_._negated) { - CharT curr_char_ = sizeof (CharT) == 1 ? -128 : 0; + CharT curr_char_ = (std::numeric_limits::min)(); std::size_t i_ = 0; while (curr_ < chars_end_) Index: string_token.hpp =================================================================== --- string_token.hpp (revision 83422) +++ string_token.hpp (working copy) @@ -7,6 +7,7 @@ #define BOOST_LEXER_STRING_TOKEN_HPP #include +#include #include "size_t.hpp" #include "consts.hpp" // num_chars, num_wchar_ts #include @@ -71,7 +72,7 @@ { const std::size_t max_chars_ = sizeof (CharT) == 1 ? num_chars : num_wchar_ts; - CharT curr_char_ = sizeof (CharT) == 1 ? -128 : 0; + CharT curr_char_ = (std::numeric_limits::min)(); string temp_; const CharT *curr_ = _charset.c_str (); const CharT *chars_end_ = curr_ + _charset.size ();