Hi,

minimally, fix _S_local_capacity for sizeof(_CharT) > 16. Probably we'll come back to it in order to tune it more finely for char, wchar_t, char16_t, and char32_t.

Tested x86_64-linux.

Thanks,
Paolo.

///////////////////////
2014-12-22  Paolo Carlini  <paolo.carl...@oracle.com>

        * include/bits/basic_string.h: Fix _S_local_capacity for
        large sizeof(_CharT).
Index: include/bits/basic_string.h
===================================================================
--- include/bits/basic_string.h (revision 219015)
+++ include/bits/basic_string.h (working copy)
@@ -114,7 +114,7 @@
       _Alloc_hider     _M_dataplus;
       size_type                _M_string_length;
 
-      enum { _S_local_capacity = 16 / sizeof(_CharT) - 1 };
+      enum { _S_local_capacity = 15 / sizeof(_CharT) };
 
       union
       {

Reply via email to