diff --git a/include/boost/lexical_cast.hpp b/include/boost/lexical_cast.hpp index da8262e..1cd23f7 100644 --- a/include/boost/lexical_cast.hpp +++ b/include/boost/lexical_cast.hpp @@ -459,21 +459,20 @@ namespace boost template CharT* lcast_put_unsigned(T n, CharT* finish) { - typedef std::numpunct numpunct; - CharT thousands_sep = 0; -#if !defined(MEASURE_LEXICAL_CAST_PERFORMANCE_WITHOUT_LOCALE_OVERHEAD) +#ifdef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE + char const* grouping = ""; + std::size_t const grouping_size = 0; +#else std::locale loc; + typedef std::numpunct numpunct; numpunct const& np = BOOST_USE_FACET(numpunct, loc); std::string const& grouping = np.grouping(); std::string::size_type const grouping_size = grouping.size(); if(grouping_size) thousands_sep = np.thousands_sep(); -#else // dead branch in production code - char const* grouping = ""; - std::size_t grouping_size = 0; #endif std::string::size_type group = 0; // current group number