From: Paolo Carlini Date: Sat, 31 Jan 2004 15:39:52 +0000 (+0000) Subject: basic_string.tcc (_Rep::_S_create): Minor tweak. X-Git-Tag: releases/gcc-4.0.0~10510 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=24f330691d685bbae31d59ab79c717e4b02c1467;p=thirdparty%2Fgcc.git basic_string.tcc (_Rep::_S_create): Minor tweak. 2004-01-31 Paolo Carlini * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak. From-SVN: r77035 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index e4b787bea99b..55b8f7910f92 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,7 @@ +2004-01-31 Paolo Carlini + + * include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak. + 2004-01-30 Paolo Carlini * testsuite/21_strings/basic_string/cons/char/6.cc: New. diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc index e35b305cdeb1..0e80f596745e 100644 --- a/libstdc++-v3/include/bits/basic_string.tcc +++ b/libstdc++-v3/include/bits/basic_string.tcc @@ -514,11 +514,10 @@ namespace std // Whew. Seemingly so needy, yet so elemental. size_type __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); - if (__size + __malloc_header_size > __pagesize) + const size_type __adj_size = __size + __malloc_header_size; + if (__adj_size > __pagesize) { - const size_type __extra = (__pagesize - - (__size + __malloc_header_size) - % __pagesize); + const size_type __extra = __pagesize - __adj_size % __pagesize; __capacity += __extra / sizeof(_CharT); // Never allocate a string bigger than _S_max_size. if (__capacity > _S_max_size) @@ -527,9 +526,7 @@ namespace std } else if (__size > __subpagesize) { - const size_type __extra = (__subpagesize - - (__size + __malloc_header_size) - % __subpagesize); + const size_type __extra = __subpagesize - __adj_size % __subpagesize; __capacity += __extra / sizeof(_CharT); __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep); }