This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On 14 November 2015 at 00:56, Jonathan Wakely <jwakely.gcc@gmail.com> wrote: > On 13 November 2015 at 23:53, David Edelsohn <dje.gcc@gmail.com> wrote: >> On Fri, Nov 13, 2015 at 1:40 PM, David Edelsohn <dje.gcc@gmail.com> wrote: >>> http://www.cplusplus.com/reference/string/basic_string/reserve/ >>> >>> "Note that the resulting string capacity may be equal or greater than n." >>> >>> The current testcase verifies that the capacity is exactly equal to >>> the length of the string or reserve value, but the standard allows the >>> capacity to be larger. On AIX, the capacity is larger and the >>> testcase incorrectly fails. >>> >>> Linux x86-64: >>> i: 4 >>> str.length: 4 >>> str.capacity: 4 >>> str.capacity: 12 >>> str.capacity: 8 >>> str.capacity: 4 >>> >>> AIX: >>> i: 4 >>> str.length: 4 >>> str.capacity: 7 <-- i >>> str.capacity: 14 <-- i*3 >>> str.capacity: 8 <-- i*2 >>> str.capacity: 7 <-- default >>> >>> * 21_strings/basic_string/capacity/wchar_t/18654.cc: Verify the >> >> Jonathan, >> >> AIX has 2-byte wchar_t in 32 bit mode, which seems to be the cause of >> all of the libstdc++ testsuite wchar_t failures. If GCC libstdc++ is >> suppose to shrink-to-fit, how should the testcases be fixed? > > It's shrink-to-fit, but not below a minimum size, which depends on > sizeof(wchar_t). > > Something like https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=63f5425911daddb9a328565cb0acc3b0f30144fa#patch81 > would work for both old and new string ABIs, I'll prepare an > equivalent patch for the wchar_t test case. This makes it adapt to the short-string buffer size, rather than making an assumption about sizeof(wchar_t). Committed to trunk. I'll have a look at the other wchar_t failures on AIX.
Attachment:
patch.txt
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |