Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

pfusik (Piotr Fusik)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 18 2023, 3:47 AM (35 w, 6 d)

Recent Activity

Mon, Sep 18

pfusik abandoned D159528: [clang] Fix null dereference on return in lambda attribute statement expr.

Moved to https://github.com/llvm/llvm-project/pull/66643

Mon, Sep 18, 6:13 AM · Restricted Project, Restricted Project
pfusik requested review of D159528: [clang] Fix null dereference on return in lambda attribute statement expr.
Mon, Sep 18, 5:50 AM · Restricted Project, Restricted Project

Mon, Aug 28

pfusik added inline comments to D157776: [libc++] Eliminate extra allocations from `std::move(oss).str()`.
Mon, Aug 28, 3:13 PM · Restricted Project, Restricted Project, Restricted Project

Aug 16 2023

pfusik added a comment to D157602: [libc++] Work around dynamic linking of stringstream::str() on Windows.
Aug 16 2023, 7:48 AM · Restricted Project, Restricted Project

Aug 12 2023

pfusik accepted D157776: [libc++] Eliminate extra allocations from `std::move(oss).str()`.

LGTM, modulo a lambda that I think could be simplified and some unclear test comments.

Aug 12 2023, 7:40 AM · Restricted Project, Restricted Project, Restricted Project

Aug 11 2023

pfusik added a comment to D157602: [libc++] Work around dynamic linking of stringstream::str() on Windows.

Can you post the one you tried as starting point? I'll try to tweak it then.

Aug 11 2023, 1:36 PM · Restricted Project, Restricted Project
pfusik added a comment to D157602: [libc++] Work around dynamic linking of stringstream::str() on Windows.

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 11 2023, 3:15 AM · Restricted Project, Restricted Project

Aug 10 2023

pfusik committed rG1406f099de94: [libc++][tests] Fix a test exercising incorrect overload (authored by pfusik).
[libc++][tests] Fix a test exercising incorrect overload
Aug 10 2023, 9:12 PM · Restricted Project, Restricted Project
pfusik closed D154489: [libc++][tests] Fix a test exercising incorrect overload.
Aug 10 2023, 9:12 PM · Restricted Project, Restricted Project
pfusik updated the diff for D154489: [libc++][tests] Fix a test exercising incorrect overload.

Rebased. Added testing with test_allocator.

Aug 10 2023, 12:41 PM · Restricted Project, Restricted Project
pfusik added a comment to D157602: [libc++] Work around dynamic linking of stringstream::str() on Windows.

(and D155185 if it isn't yet) to the LLVM 17 branch too.

Aug 10 2023, 8:05 AM · Restricted Project, Restricted Project
pfusik updated subscribers of D157602: [libc++] Work around dynamic linking of stringstream::str() on Windows.

Fixes link failures reported by @thakis at https://reviews.llvm.org/D153709

Aug 10 2023, 4:55 AM · Restricted Project, Restricted Project
pfusik added inline comments to D153709: [libc++] Implement stringbuf members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Aug 10 2023, 4:54 AM · Restricted Project, Restricted Project
pfusik requested review of D157602: [libc++] Work around dynamic linking of stringstream::str() on Windows.
Aug 10 2023, 4:48 AM · Restricted Project, Restricted Project

Aug 2 2023

pfusik added a comment to D156783: [libc++] Fix `std::out_of_range` thrown from `basic_stringbuf::str() &&`.

After you land the patch, can you put it up for backporting to LLVM-17?
(The instructions are here https://www.llvm.org/docs/GitHub.html#backporting-fixes-to-the-release-branches)

Aug 2 2023, 8:11 AM · Restricted Project, Restricted Project
pfusik committed rGf418cb1a9367: [libc++] Fix `std::out_of_range` thrown from `basic_stringbuf::str() &&` (authored by pfusik).
[libc++] Fix `std::out_of_range` thrown from `basic_stringbuf::str() &&`
Aug 2 2023, 7:27 AM · Restricted Project, Restricted Project
pfusik closed D156783: [libc++] Fix `std::out_of_range` thrown from `basic_stringbuf::str() &&`.
Aug 2 2023, 7:27 AM · Restricted Project, Restricted Project

Aug 1 2023

pfusik updated the diff for D156783: [libc++] Fix `std::out_of_range` thrown from `basic_stringbuf::str() &&`.

Rebased.

Aug 1 2023, 10:34 PM · Restricted Project, Restricted Project
pfusik updated the diff for D156783: [libc++] Fix `std::out_of_range` thrown from `basic_stringbuf::str() &&`.

Refactor a function argument to a variable (NFC).

Aug 1 2023, 11:22 AM · Restricted Project, Restricted Project
pfusik updated the diff for D156783: [libc++] Fix `std::out_of_range` thrown from `basic_stringbuf::str() &&`.

Rebased.

Aug 1 2023, 9:33 AM · Restricted Project, Restricted Project
pfusik added inline comments to D156783: [libc++] Fix `std::out_of_range` thrown from `basic_stringbuf::str() &&`.
Aug 1 2023, 9:02 AM · Restricted Project, Restricted Project
pfusik updated subscribers of D156783: [libc++] Fix `std::out_of_range` thrown from `basic_stringbuf::str() &&`.

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.

Aug 1 2023, 3:27 AM · Restricted Project, Restricted Project
pfusik added a comment to D155276: [libc++] Implement ostringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

@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

Aug 1 2023, 3:23 AM · Restricted Project, Restricted Project
pfusik requested review of D156783: [libc++] Fix `std::out_of_range` thrown from `basic_stringbuf::str() &&`.
Aug 1 2023, 3:17 AM · Restricted Project, Restricted Project

Jul 20 2023

pfusik added a comment to D154489: [libc++][tests] Fix a test exercising incorrect overload.

@ldionne Can we please continue this review before the 17.0 branch is created?

Jul 20 2023, 4:59 AM · Restricted Project, Restricted Project

Jul 19 2023

pfusik committed rG8ecb9591646d: [libc++] Work around dynamic linking of stringbuf::str() on Windows (authored by pfusik).
[libc++] Work around dynamic linking of stringbuf::str() on Windows
Jul 19 2023, 8:14 AM · Restricted Project, Restricted Project
pfusik closed D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows.
Jul 19 2023, 8:13 AM · Restricted Project, Restricted Project

Jul 16 2023

pfusik added inline comments to D154874: [libc++][doc] Updates the release notes..
Jul 16 2023, 9:41 AM · Restricted Project, Restricted Project
pfusik committed rGc7c0095b2928: [libc++] Implement stringstream members of P0408R7 (Efficient Access to… (authored by pfusik).
[libc++] Implement stringstream members of P0408R7 (Efficient Access to…
Jul 16 2023, 9:33 AM · Restricted Project, Restricted Project
pfusik closed D155359: [libc++] Implement stringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jul 16 2023, 9:33 AM · Restricted Project, Restricted Project
pfusik updated the diff for D155359: [libc++] Implement stringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Rebased. Updated the status docs. A whitespace fix.

Jul 16 2023, 6:35 AM · Restricted Project, Restricted Project
pfusik committed rG6ed40418914b: [libc++] Implement ostringstream members of P0408R7 (Efficient Access to… (authored by pfusik).
[libc++] Implement ostringstream members of P0408R7 (Efficient Access to…
Jul 16 2023, 6:26 AM · Restricted Project, Restricted Project
pfusik closed D155276: [libc++] Implement ostringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jul 16 2023, 6:25 AM · Restricted Project, Restricted Project
pfusik updated the diff for D155276: [libc++] Implement ostringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Removed the istringstream constructor constraint.

Jul 16 2023, 6:19 AM · Restricted Project, Restricted Project

Jul 15 2023

pfusik updated the diff for D155359: [libc++] Implement stringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Added a constructor constraint.

Jul 15 2023, 12:39 PM · Restricted Project, Restricted Project
pfusik updated the diff for D155276: [libc++] Implement ostringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Added a constructor constraint, also in istringstream.

Jul 15 2023, 12:35 PM · Restricted Project, Restricted Project
pfusik added inline comments to D155276: [libc++] Implement ostringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jul 15 2023, 8:14 AM · Restricted Project, Restricted Project
pfusik committed rG34bd7e229d82: [libc++][tests] Fix a test testing wrong class (authored by pfusik).
[libc++][tests] Fix a test testing wrong class
Jul 15 2023, 7:15 AM · Restricted Project, Restricted Project
pfusik closed D155360: [libc++][tests] Fix a test testing wrong class.
Jul 15 2023, 7:15 AM · Restricted Project, Restricted Project
pfusik added inline comments to D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows.
Jul 15 2023, 2:27 AM · Restricted Project, Restricted Project
pfusik added a comment to D155360: [libc++][tests] Fix a test testing wrong class.

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

Jul 15 2023, 2:20 AM · Restricted Project, Restricted Project
pfusik requested review of D155360: [libc++][tests] Fix a test testing wrong class.
Jul 15 2023, 2:17 AM · Restricted Project, Restricted Project
pfusik added a comment to D155359: [libc++] Implement stringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

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 15 2023, 2:05 AM · Restricted Project, Restricted Project
pfusik requested review of D155359: [libc++] Implement stringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jul 15 2023, 2:01 AM · Restricted Project, Restricted Project

Jul 14 2023

pfusik added inline comments to D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows.
Jul 14 2023, 9:54 AM · Restricted Project, Restricted Project
pfusik updated the diff for D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows.

Update the commit message with arc diff --edit.

Jul 14 2023, 9:52 AM · Restricted Project, Restricted Project
pfusik added inline comments to D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows.
Jul 14 2023, 9:44 AM · Restricted Project, Restricted Project
pfusik updated the diff for D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows.

Fix TODO pattern.
Add full issue link in the commit message.

Jul 14 2023, 9:42 AM · Restricted Project, Restricted Project
pfusik added inline comments to D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows.
Jul 14 2023, 9:29 AM · Restricted Project, Restricted Project
pfusik added a comment to D155276: [libc++] Implement ostringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

This is symmetric to https://reviews.llvm.org/D154454

Jul 14 2023, 9:17 AM · Restricted Project, Restricted Project
pfusik added a reviewer for D155276: [libc++] Implement ostringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer): Mordante.
Jul 14 2023, 9:16 AM · Restricted Project, Restricted Project
pfusik requested review of D155276: [libc++] Implement ostringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jul 14 2023, 2:11 AM · Restricted Project, Restricted Project
pfusik added a comment to D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows.

I think it's better as-is.

Jul 14 2023, 12:49 AM · Restricted Project, Restricted Project

Jul 13 2023

pfusik committed rG61d2a9b3ea10: [libc++] Implement istringstream members of P0408R7 (Efficient Access to… (authored by pfusik).
[libc++] Implement istringstream members of P0408R7 (Efficient Access to…
Jul 13 2023, 11:33 PM · Restricted Project, Restricted Project
pfusik closed D154454: [libc++] Implement istringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jul 13 2023, 11:32 PM · Restricted Project, Restricted Project
pfusik added a comment to D154454: [libc++] Implement istringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Rebased without conflicts.

Jul 13 2023, 9:28 AM · Restricted Project, Restricted Project
pfusik updated the diff for D154454: [libc++] Implement istringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Rebased.

Jul 13 2023, 9:22 AM · Restricted Project, Restricted Project
pfusik added inline comments to D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows.
Jul 13 2023, 6:39 AM · Restricted Project, Restricted Project
pfusik added inline comments to D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows.
Jul 13 2023, 6:22 AM · Restricted Project, Restricted Project
pfusik added inline comments to D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows.
Jul 13 2023, 6:05 AM · Restricted Project, Restricted Project
pfusik added a reviewer for D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows: ldionne.
Jul 13 2023, 4:55 AM · Restricted Project, Restricted Project
pfusik added a comment to D155180: [libc++] Use always_inline for std::stringbuf::str() on Windows to work around #40363.

I think https://reviews.llvm.org/D155185 addresses it better: there are two overloads to handle for now, there will be eight.

Jul 13 2023, 4:54 AM · Restricted Project, Restricted Project
pfusik added a reviewer for D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows: hans.
Jul 13 2023, 4:54 AM · Restricted Project, Restricted Project
pfusik requested review of D155185: [libc++] Work around dynamic linking of stringbuf::str() on Windows.
Jul 13 2023, 4:51 AM · Restricted Project, Restricted Project

Jul 12 2023

pfusik added a comment to D154454: [libc++] Implement istringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Please land it so I can continue with ostringstream and stringstream.

Jul 12 2023, 2:28 PM · Restricted Project, Restricted Project
pfusik added inline comments to D153709: [libc++] Implement stringbuf members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jul 12 2023, 8:33 AM · Restricted Project, Restricted Project

Jul 11 2023

pfusik added a comment to D154499: [libc++] Do not use stringbuf's string after move.

@Mordante You pointed this as a problem in https://reviews.llvm.org/D151896#inline-1482124 Could you please explain? Now I'm confused myself.

Jul 11 2023, 11:30 PM · Restricted Project, Restricted Project
pfusik updated the diff for D154499: [libc++] Do not use stringbuf's string after move.

Mark move assignment/constructor tests as unsupported in C++03.

Jul 11 2023, 11:22 PM · Restricted Project, Restricted Project
pfusik added inline comments to D153709: [libc++] Implement stringbuf members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jul 11 2023, 11:07 AM · Restricted Project, Restricted Project
pfusik added inline comments to D153709: [libc++] Implement stringbuf members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jul 11 2023, 7:14 AM · Restricted Project, Restricted Project

Jul 10 2023

pfusik added inline comments to D154454: [libc++] Implement istringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jul 10 2023, 11:11 AM · Restricted Project, Restricted Project
pfusik updated the diff for D154454: [libc++] Implement istringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

s/&/std::addressof/
s/std:ios_base::in/std::ios_base::binary/

Jul 10 2023, 11:10 AM · Restricted Project, Restricted Project

Jul 6 2023

pfusik updated the diff for D154499: [libc++] Do not use stringbuf's string after move.

s/assert/LIBCPP_ASSERT/

Jul 6 2023, 11:37 AM · Restricted Project, Restricted Project

Jul 5 2023

pfusik added a comment to D154499: [libc++] Do not use stringbuf's string after move.

I am quite certain that basic_stringbuf has to be in a valid but unspecified state

Jul 5 2023, 12:39 PM · Restricted Project, Restricted Project
pfusik added a comment to D154499: [libc++] Do not use stringbuf's string after move.

@philnik Are the tests for libc++ or the C++ standard? The former does specify the state.

Jul 5 2023, 12:36 PM · Restricted Project, Restricted Project
pfusik updated the diff for D154499: [libc++] Do not use stringbuf's string after move.

Test source pointers set to null.

Jul 5 2023, 12:12 PM · Restricted Project, Restricted Project
pfusik added a comment to D154489: [libc++][tests] Fix a test exercising incorrect overload.

@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.

Jul 5 2023, 5:54 AM · Restricted Project, Restricted Project
pfusik updated subscribers of D154499: [libc++] Do not use stringbuf's string after move.

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.

Jul 5 2023, 5:17 AM · Restricted Project, Restricted Project
pfusik requested review of D154499: [libc++] Do not use stringbuf's string after move.
Jul 5 2023, 5:13 AM · Restricted Project, Restricted Project
pfusik added a comment to D154489: [libc++][tests] Fix a test exercising incorrect overload.

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 5 2023, 3:00 AM · Restricted Project, Restricted Project
pfusik requested review of D154489: [libc++][tests] Fix a test exercising incorrect overload.
Jul 5 2023, 2:59 AM · Restricted Project, Restricted Project

Jul 4 2023

pfusik added inline comments to D154454: [libc++] Implement istringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jul 4 2023, 11:46 AM · Restricted Project, Restricted Project
pfusik added inline comments to D154454: [libc++] Implement istringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jul 4 2023, 11:26 AM · Restricted Project, Restricted Project
pfusik requested review of D154455: [NFC][libc++] Fix whitespace in sstream.
Jul 4 2023, 10:12 AM · Restricted Project, Restricted Project
pfusik requested review of D154454: [libc++] Implement istringstream members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jul 4 2023, 10:05 AM · Restricted Project, Restricted Project

Jun 26 2023

pfusik added inline comments to D153709: [libc++] Implement stringbuf members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jun 26 2023, 10:46 AM · Restricted Project, Restricted Project
pfusik updated the diff for D153709: [libc++] Implement stringbuf members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Address review comments.

Jun 26 2023, 10:44 AM · Restricted Project, Restricted Project

Jun 24 2023

pfusik added a comment to D153405: [libc++] Add get_allocator and some constructor overloads of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

https://reviews.llvm.org/D153709 - only 11 overloads/tests.

Jun 24 2023, 11:34 AM · Restricted Project, Restricted Project
pfusik requested review of D153709: [libc++] Implement stringbuf members of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jun 24 2023, 11:32 AM · Restricted Project, Restricted Project
pfusik abandoned D153405: [libc++] Add get_allocator and some constructor overloads of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

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. :)

Jun 24 2023, 9:04 AM · Restricted Project, Restricted Project
pfusik added a comment to D153427: [libc++] Add noexcept clauses to swap per P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Please land this change as I have no commit access. Thank you!

Jun 24 2023, 9:00 AM · Restricted Project, Restricted Project
pfusik added inline comments to D153427: [libc++] Add noexcept clauses to swap per P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jun 24 2023, 6:24 AM · Restricted Project, Restricted Project
pfusik added a comment to D153405: [libc++] Add get_allocator and some constructor overloads of P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Sorry, but would it be possible to to a patch per class instead, starting with stringbuf? That way I can keep track that all classes are done. The subtile differences in all overloads make it really annoying the review for correctness.

Jun 24 2023, 6:20 AM · Restricted Project, Restricted Project

Jun 21 2023

pfusik updated the diff for D153427: [libc++] Add noexcept clauses to swap per P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Reword comments.
More tests, descriptive classes.

Jun 21 2023, 10:28 AM · Restricted Project, Restricted Project
pfusik requested review of D153427: [libc++] Add noexcept clauses to swap per P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jun 21 2023, 7:38 AM · Restricted Project, Restricted Project
pfusik abandoned D151896: [libc++] Implement C++20 P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Splitting to smaller chunks. First one: https://reviews.llvm.org/D153405

Jun 21 2023, 1:36 AM · Restricted Project, Restricted Project
pfusik requested review of D153405: [libc++] Add get_allocator and some constructor overloads of P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jun 21 2023, 1:34 AM · Restricted Project, Restricted Project

Jun 20 2023

pfusik added inline comments to D151896: [libc++] Implement C++20 P0408R7 (Efficient Access to basic_stringbuf's Buffer).
Jun 20 2023, 10:34 AM · Restricted Project, Restricted Project
pfusik updated the diff for D151896: [libc++] Implement C++20 P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Addressing the review comments.
Will split to smaller changes.

Jun 20 2023, 10:34 AM · Restricted Project, Restricted Project

Jun 15 2023

pfusik updated the diff for D151896: [libc++] Implement C++20 P0408R7 (Efficient Access to basic_stringbuf's Buffer).

Ensure buffer is empty after str() &&.

Jun 15 2023, 9:43 AM · Restricted Project, Restricted Project