User Details
- User Since
- Jan 18 2023, 3:47 AM (35 w, 6 d)
Mon, Sep 18
Mon, Aug 28
Aug 16 2023
Aug 12 2023
LGTM, modulo a lambda that I think could be simplified and some unclear test comments.
Aug 11 2023
Can you post the one you tried as starting point? I'll try to tweak it then.
What differs in the real world deployments vs what's tested in the libcxx CI; what test config would be needed to catch this in the CI?
Aug 10 2023
Rebased. Added testing with test_allocator.
Fixes link failures reported by @thakis at https://reviews.llvm.org/D153709
Aug 2 2023
Aug 1 2023
Rebased.
Refactor a function argument to a variable (NFC).
Rebased.
Fixes a bug reported by @leonardchan at https://reviews.llvm.org/D155276
In the bug scenario, __view.data() == nullptr. The offset is validated by the string constructor/assign even if count == 0.
@leonardchan Thank you for your report and analysis!
__view.data() was nullptr. I did not realize that the position must be valid even when the count is zero.
Fix: https://reviews.llvm.org/D156783
Jul 20 2023
@ldionne Can we please continue this review before the 17.0 branch is created?
Jul 19 2023
Jul 16 2023
Rebased. Updated the status docs. A whitespace fix.
Removed the istringstream constructor constraint.
Jul 15 2023
Added a constructor constraint.
Added a constructor constraint, also in istringstream.
This is just a small test cleanup: the directory and header comment said that it tests stringstream but it used istringstream.
The test was originally created this way: https://github.com/llvm/llvm-project/commit/1347d334518a3642243e97c7d173452443047e2f#diff-ea0557985f856925f1b019fcd64ee6d1ff0465ad8cd19a42b355e5b9c97589fe
Together with https://reviews.llvm.org/D155276 this concludes the paper implementation.
I didn't update the docs yet as that would conflict with https://reviews.llvm.org/D155276
(and I don't feel confident to use chained patches at this point)
Jul 14 2023
Update the commit message with arc diff --edit.
Fix TODO pattern.
Add full issue link in the commit message.
This is symmetric to https://reviews.llvm.org/D154454
I think it's better as-is.
Jul 13 2023
Rebased without conflicts.
Rebased.
I think https://reviews.llvm.org/D155185 addresses it better: there are two overloads to handle for now, there will be eight.
Jul 12 2023
Please land it so I can continue with ostringstream and stringstream.
Jul 11 2023
@Mordante You pointed this as a problem in https://reviews.llvm.org/D151896#inline-1482124 Could you please explain? Now I'm confused myself.
Mark move assignment/constructor tests as unsupported in C++03.
Jul 10 2023
s/&/std::addressof/
s/std:ios_base::in/std::ios_base::binary/
Jul 6 2023
s/assert/LIBCPP_ASSERT/
Jul 5 2023
@philnik Are the tests for libc++ or the C++ standard? The former does specify the state.
Test source pointers set to null.
@ldionne std::basic_string<CharT, std::traits<CharT>, test_allocator<CharT>> is a different type than std::basic_string<CharT>.
I double-checked with printfs which constructor was called.
This fixes use-after-moves spotted by @Mordante in https://reviews.llvm.org/D151896#inline-1482124
The pointers are now set to null, same as in the default constructor of stringbuf.
I noticed a test I added in https://reviews.llvm.org/D153709 wasn't testing the constructor overload it was supposed to test. Instead, it tested the same overload as string-alloc.mode.pass.cpp.
Jul 4 2023
Jun 26 2023
Address review comments.
Jun 24 2023
https://reviews.llvm.org/D153709 - only 11 overloads/tests.
Ok, I'll submit a patch implementing the whole paper in stringbuf. Since you asked for a separate test per overload, be prepared for two dozen tests. :)
Please land this change as I have no commit access. Thank you!
Jun 21 2023
Reword comments.
More tests, descriptive classes.
Splitting to smaller chunks. First one: https://reviews.llvm.org/D153405
Jun 20 2023
Addressing the review comments.
Will split to smaller changes.
Jun 15 2023
Ensure buffer is empty after str() &&.