PR libstdc++/90945 Patch to have pretty printer for std::vector<bool> return bool intead of int for elements

Stephan Bergmann sbergman@redhat.com
Thu Jun 20 06:13:00 GMT 2019


On 19/06/2019 21:54, Jonathan Wakely wrote:
> On 19/06/19 21:49 +0200, Michael Weghorn wrote:
>> On 19/06/2019 21.37, Jonathan Wakely wrote:
>>> +  std::vector<bool> vb;
>>> +  vb.reserve(100);
>>> +  vb.push_back(true);
>>> +  vb.push_back(true);
>>> +  vb.push_back(false);
>>> +  vb.push_back(false);
>>> +  vb.push_back(true);
>>> +  vb.erase(vb.begin());
>>> +// { dg-final { regexp-test vb {std::(__debug::)?vector of length 4, 
>>> capacity 100 = \\{true, false, false, true\\}} } }
>>> +
>>
>> This inserts 5 elements, so I'd expect that either "vector of length 5"
>> and an additional "true" element at the beginning need to be added for
>> the expected result or one of the two first 'vb.push_back(true)' needs
>> to be removed.
> 
> It inserts five then erases one, the test is right.

Just one thought that occurred to me while idly browsing this thread: 
Wouldn't it be better in general to have non-symmetric content to test 
against, to check that the printer doesn't print it in reverse?



More information about the Libstdc++ mailing list