Page MenuHomePhabricator

fwolff (Fabian Wolff)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 8 2021, 12:35 PM (54 w, 5 d)

Recent Activity

Oct 21 2022

fwolff added a comment to D133244: [clang-tidy] Readability-container-data-pointer adds new option to ignore Containers.

I suppose it sounds sensible to have the option of ignoring certain containers in this check; though I haven't needed it myself so far, which is also why I'm leaning against ignoring std::array by default. But I do not claim ultimate authority on this question, of course.

Oct 21 2022, 9:58 AM · Restricted Project, Restricted Project

Jul 6 2022

fwolff updated the diff for D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.

Thanks for your help @philnik. I'm still unsure what exactly I should check for in the exception header; I went for

#if defined(_LIBCPP_ABI_VERSION) || defined(LIBCXXRT) || defined(LIBCXX_BUILDING_LIBCXXABI)

because the first two are used in libcxx/src/exception.cpp to indicate that the exception_pointer_cxxabi.ipp implementation is to be used, and it didn't work without the last one, but it doesn't really look right to me, so please comment.

Jul 6 2022, 5:11 PM · Restricted Project, Restricted Project
fwolff added a comment to D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.

The problem is that you have introduced new symbols to the dylib. I think the easiest way to avoid this is to use __cxa_{increment, decrement}_exception_refcount in the header directly.

Jul 6 2022, 12:57 PM · Restricted Project, Restricted Project
fwolff added a comment to D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.

I think the main problem were the inconsistent abilist files, which I have attempted to fix here

Jul 6 2022, 10:19 AM · Restricted Project, Restricted Project

Jul 5 2022

fwolff updated the diff for D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.

@Mordante I think the main problem were the inconsistent abilist files, which I have attempted to fix here (unfortunately generate-cxx-abilist didn't really work for me, as it created lots of other entries for things I didn't touch, so I had to do it manually). I've also rebased the patch, though the rebase went cleanly.

Jul 5 2022, 4:29 PM · Restricted Project, Restricted Project

Jun 4 2022

fwolff updated the diff for D127036: [clang-tidy] Warn about arrays in `bugprone-undefined-memory-manipulation`.
Jun 4 2022, 12:24 PM · Restricted Project, Restricted Project

Jun 3 2022

fwolff requested review of D127036: [clang-tidy] Warn about arrays in `bugprone-undefined-memory-manipulation`.
Jun 3 2022, 4:54 PM · Restricted Project, Restricted Project

Apr 21 2022

fwolff committed rG95d77383f2ba: [clang-tidy] Fix behavior of `modernize-use-using` with nested structs/unions (authored by fwolff).
[clang-tidy] Fix behavior of `modernize-use-using` with nested structs/unions
Apr 21 2022, 6:22 AM · Restricted Project, Restricted Project
fwolff closed D113804: [clang-tidy] Fix behavior of `modernize-use-using` with nested structs/unions.
Apr 21 2022, 6:21 AM · Restricted Project, Restricted Project

Apr 20 2022

fwolff added inline comments to D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.
Apr 20 2022, 4:52 PM · Restricted Project, Restricted Project
fwolff updated the diff for D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.
Apr 20 2022, 4:48 PM · Restricted Project, Restricted Project
fwolff updated the summary of D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.
Apr 20 2022, 4:28 PM · Restricted Project, Restricted Project
fwolff added inline comments to D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.
Apr 20 2022, 9:19 AM · Restricted Project, Restricted Project
fwolff updated the diff for D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.

Thanks for reviewing this @Mordante! I think I've addressed all of your comments, and I've added a suppression for -Wgnu-inline-cpp-without-extern, which will hopefully fix the failing tests.

Apr 20 2022, 9:16 AM · Restricted Project, Restricted Project
fwolff added a comment to D113804: [clang-tidy] Fix behavior of `modernize-use-using` with nested structs/unions.

Ping @aaron.ballman.

Apr 20 2022, 8:28 AM · Restricted Project, Restricted Project
fwolff updated the summary of D113804: [clang-tidy] Fix behavior of `modernize-use-using` with nested structs/unions.
Apr 20 2022, 8:27 AM · Restricted Project, Restricted Project
fwolff committed rGcce79514ff40: [clang-tidy] Reduce false positives for `bugprone-infinite-loop` with dependent… (authored by fwolff).
[clang-tidy] Reduce false positives for `bugprone-infinite-loop` with dependent…
Apr 20 2022, 8:19 AM · Restricted Project, Restricted Project
fwolff closed D113499: [clang-tidy] Reduce false positives for `bugprone-infinite-loop` with dependent expressions.
Apr 20 2022, 8:19 AM · Restricted Project, Restricted Project
fwolff committed rGfb3b3f76bf75: [clang-tidy] Fix `readability-container-size-empty` check for smart pointers (authored by fwolff).
[clang-tidy] Fix `readability-container-size-empty` check for smart pointers
Apr 20 2022, 8:07 AM · Restricted Project, Restricted Project
fwolff closed D115124: [clang-tidy] Fix `readability-container-size-empty` check for smart pointers.
Apr 20 2022, 8:07 AM · Restricted Project, Restricted Project
fwolff committed rGf25935a00091: [clang-tidy] Fix `altera-struct-pack-align` check for empty structs (authored by fwolff).
[clang-tidy] Fix `altera-struct-pack-align` check for empty structs
Apr 20 2022, 7:56 AM · Restricted Project, Restricted Project
fwolff closed D114292: [clang-tidy] Fix `altera-struct-pack-align` check for empty structs.
Apr 20 2022, 7:56 AM · Restricted Project, Restricted Project

Apr 14 2022

fwolff committed rG4ff70dba3839: [libc++] Fix undefined behavior in `std::filebuf` (authored by fwolff).
[libc++] Fix undefined behavior in `std::filebuf`
Apr 14 2022, 7:21 AM · Restricted Project, Restricted Project
fwolff closed D122257: [libc++] Fix undefined behavior in `std::filebuf`.
Apr 14 2022, 7:21 AM · Restricted Project, Restricted Project
fwolff updated the diff for D114119: [libcxx] Fix potential lost wake-up in counting semaphore.

Also, if you re-upload a patch, you should be able to see if it hangs forever (we now enforce a timeout in our CI).

Apr 14 2022, 7:03 AM · Restricted Project, Restricted Project

Apr 13 2022

Herald added a project to D114119: [libcxx] Fix potential lost wake-up in counting semaphore: Restricted Project.

Thanks a lot for your analysis @jiixyj! Your analysis of the ABA problem makes sense to me.

Apr 13 2022, 9:11 AM · Restricted Project, Restricted Project

Apr 12 2022

fwolff updated the diff for D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.

Thanks for your help @philnik. I have now revised my implementation so that the ABI break is no longer required.

Apr 12 2022, 10:55 AM · Restricted Project, Restricted Project
fwolff added a comment to D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.

Adding the move constructor and assignment operator isn't ABI-breaking AFAICT. IIUC the ABI breaking part of this patch is that the functions don't get generated anymore in the dylib. Using __attribute__((__gnu_inline__)) allows us to suppress generating the functions if they're not inlined, but allows the compiler to inline the function. Now if we don't apply the attribute when building the library the functions will be emitted, but otherwise they won't. This way we have the same linkage and so on for the dylib function, but have all the optimization opportunities of an inline function.

Apr 12 2022, 8:59 AM · Restricted Project, Restricted Project
fwolff added inline comments to D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.
Apr 12 2022, 8:27 AM · Restricted Project, Restricted Project
fwolff added a comment to D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.

I think this could be implemented in a non ABI breaking way by using __attribute__((__gnu_inline__)). See https://godbolt.org/z/W83rTb714 for an example. If you want to allow it in ABIv1 this way you should probably just disable the magic in ABIv2.

Apr 12 2022, 8:12 AM · Restricted Project, Restricted Project
fwolff committed rGa18634b74fc0: [clang-tidy] Never consider assignments as equivalent in `misc-redundant… (authored by fwolff).
[clang-tidy] Never consider assignments as equivalent in `misc-redundant…
Apr 12 2022, 7:08 AM · Restricted Project, Restricted Project
fwolff closed D122535: [clang-tidy] Never consider assignments as equivalent in `misc-redundant-expression` check.
Apr 12 2022, 7:08 AM · Restricted Project, Restricted Project

Apr 11 2022

fwolff added a comment to D122257: [libc++] Fix undefined behavior in `std::filebuf`.

D122612 is good to go, I think you should be able to rebase onto main soon, apply my remaining comments and then we can ship this!

Apr 11 2022, 12:15 PM · Restricted Project, Restricted Project
fwolff updated the diff for D122257: [libc++] Fix undefined behavior in `std::filebuf`.
Apr 11 2022, 12:13 PM · Restricted Project, Restricted Project

Mar 26 2022

fwolff requested review of D122536: [libc++] Optimize `exception_ptr`, especially for the empty case.
Mar 26 2022, 3:05 PM · Restricted Project, Restricted Project
fwolff requested review of D122535: [clang-tidy] Never consider assignments as equivalent in `misc-redundant-expression` check.
Mar 26 2022, 2:49 PM · Restricted Project, Restricted Project

Mar 25 2022

fwolff added a comment to D122257: [libc++] Fix undefined behavior in `std::filebuf`.

Thanks for reviewing this @ldionne!

Mar 25 2022, 1:48 PM · Restricted Project, Restricted Project
fwolff updated the diff for D122257: [libc++] Fix undefined behavior in `std::filebuf`.
Mar 25 2022, 1:35 PM · Restricted Project, Restricted Project

Mar 23 2022

fwolff committed rG528e6eba2f79: [clang] Improve diagnostic for reopened inline namespace (authored by fwolff).
[clang] Improve diagnostic for reopened inline namespace
Mar 23 2022, 2:32 PM · Restricted Project
fwolff closed D122278: [clang] Improve diagnostic for reopened inline namespace.
Mar 23 2022, 2:32 PM · Restricted Project, Restricted Project

Mar 22 2022

fwolff requested review of D122278: [clang] Improve diagnostic for reopened inline namespace.
Mar 22 2022, 6:13 PM · Restricted Project, Restricted Project
fwolff committed rG07675b0b38e9: [clang-tidy] Fix false positives in `misc-redundant-expression` check (authored by fwolff).
[clang-tidy] Fix false positives in `misc-redundant-expression` check
Mar 22 2022, 4:38 PM · Restricted Project, Restricted Project
fwolff closed D122111: [clang-tidy] Fix false positives in `misc-redundant-expression` check.
Mar 22 2022, 4:38 PM · Restricted Project, Restricted Project
fwolff requested review of D122257: [libc++] Fix undefined behavior in `std::filebuf`.
Mar 22 2022, 1:36 PM · Restricted Project, Restricted Project

Mar 21 2022

fwolff added a comment to D122111: [clang-tidy] Fix false positives in `misc-redundant-expression` check.

Thanks for the quick review @aaron.ballman! I think I've addressed your comments.

Mar 21 2022, 12:48 PM · Restricted Project, Restricted Project
fwolff updated the diff for D122111: [clang-tidy] Fix false positives in `misc-redundant-expression` check.
Mar 21 2022, 12:44 PM · Restricted Project, Restricted Project

Mar 20 2022

fwolff requested review of D122111: [clang-tidy] Fix false positives in `misc-redundant-expression` check.
Mar 20 2022, 6:13 PM · Restricted Project, Restricted Project
fwolff abandoned D114272: [InstCombine] Add two optimizations for mul-and-icmp patterns.
Mar 20 2022, 6:06 PM · Restricted Project, Restricted Project

Feb 8 2022

fwolff updated the diff for D114272: [InstCombine] Add two optimizations for mul-and-icmp patterns.

@fwolff Please can you rebase this patch?

Feb 8 2022, 11:43 AM · Restricted Project, Restricted Project

Jan 20 2022

fwolff committed rGd3b188a2d72f: [clang-tidy] Include constructor initializers in `bugprone-exception-escape`… (authored by fwolff).
[clang-tidy] Include constructor initializers in `bugprone-exception-escape`…
Jan 20 2022, 4:01 PM
fwolff closed D113507: [clang-tidy] Include constructor initializers in `bugprone-exception-escape` check.
Jan 20 2022, 4:00 PM · Restricted Project

Jan 18 2022

fwolff committed rGf7b7138a6264: [clang-tidy] Make `readability-container-data-pointer` more robust (authored by fwolff).
[clang-tidy] Make `readability-container-data-pointer` more robust
Jan 18 2022, 12:11 PM
fwolff closed D113863: [clang-tidy] Make `readability-container-data-pointer` more robust.
Jan 18 2022, 12:11 PM · Restricted Project

Jan 17 2022

fwolff updated the diff for D113863: [clang-tidy] Make `readability-container-data-pointer` more robust.

Fixed the nits. Thanks for the review @aaron.ballman!

Jan 17 2022, 5:11 PM · Restricted Project
fwolff updated the diff for D113804: [clang-tidy] Fix behavior of `modernize-use-using` with nested structs/unions.

Rebased and ping @whisperity

Jan 17 2022, 5:01 PM · Restricted Project, Restricted Project
fwolff added a reviewer for D113499: [clang-tidy] Reduce false positives for `bugprone-infinite-loop` with dependent expressions: aaron.ballman.
Jan 17 2022, 4:56 PM · Restricted Project, Restricted Project
fwolff updated the diff for D114272: [InstCombine] Add two optimizations for mul-and-icmp patterns.

Rebased again. Ping @lebedev.ri

Jan 17 2022, 4:43 PM · Restricted Project, Restricted Project
fwolff added a comment to D113518: [clang][Sema] Create delegating constructors even in templates.

@aaron.ballman Ping? I think I've responded to all comments so far; let me know if you still have concerns.

Jan 17 2022, 4:36 PM · Restricted Project, Restricted Project
fwolff added inline comments to D113507: [clang-tidy] Include constructor initializers in `bugprone-exception-escape` check.
Jan 17 2022, 4:32 PM · Restricted Project
fwolff updated the diff for D113507: [clang-tidy] Include constructor initializers in `bugprone-exception-escape` check.
Jan 17 2022, 4:29 PM · Restricted Project
fwolff updated the diff for D114292: [clang-tidy] Fix `altera-struct-pack-align` check for empty structs.

I've added the static_cast and an entry in the release notes. I'm not sure how to handle [[no_unique_address]], so I'd rather leave this to future work.

Jan 17 2022, 1:44 PM · Restricted Project, Restricted Project
fwolff updated the diff for D115124: [clang-tidy] Fix `readability-container-size-empty` check for smart pointers.

Could you please add a test case where the smart pointer object is dereferenced before calling size()? E.g. return (*ptr).size() == 0;. I think this change doesn't work on this test case.

Jan 17 2022, 1:03 PM · Restricted Project, Restricted Project
fwolff committed rG2cd2accc61ea: [clang-tidy] Fix false positives involving type aliases in `misc-unconventional… (authored by fwolff).
[clang-tidy] Fix false positives involving type aliases in `misc-unconventional…
Jan 17 2022, 12:20 PM
fwolff closed D114197: [clang-tidy] Fix false positives involving type aliases in `misc-unconventional-assign-operator` check.
Jan 17 2022, 12:20 PM · Restricted Project
fwolff committed rG42bc3275d368: [clang-tidy] Fix `readability-redundant-declaration` false positive for… (authored by fwolff).
[clang-tidy] Fix `readability-redundant-declaration` false positive for…
Jan 17 2022, 11:57 AM
fwolff closed D114299: [clang-tidy] Fix `readability-redundant-declaration` false positive for template friend declaration.
Jan 17 2022, 11:57 AM · Restricted Project

Dec 8 2021

fwolff updated the diff for D114272: [InstCombine] Add two optimizations for mul-and-icmp patterns.

@fwolff reverse ping?
This doesn't need any big fundamental changes, just a little rebasing.

Dec 8 2021, 12:47 PM · Restricted Project, Restricted Project
fwolff committed rG505a9007c570: [InstCombine] Add tests for D114272 (authored by fwolff).
[InstCombine] Add tests for D114272
Dec 8 2021, 12:32 PM

Dec 6 2021

fwolff abandoned D115125: [libc++] Avoid rejection sampling in `uniform_int_distribution` if possible.

My initial reaction is that this change slows down the common case to cater to a really super pathological case; I don't think we should do it (but a benchmark could probably change my mind).

Dec 6 2021, 11:48 AM · Restricted Project

Dec 5 2021

fwolff requested review of D115125: [libc++] Avoid rejection sampling in `uniform_int_distribution` if possible.
Dec 5 2021, 1:41 PM · Restricted Project
fwolff requested review of D115124: [clang-tidy] Fix `readability-container-size-empty` check for smart pointers.
Dec 5 2021, 12:41 PM · Restricted Project, Restricted Project
fwolff requested review of D115118: [clang-tidy] Assume that `noexcept` functions won't throw anything in `bugprone-exception-escape` check.
Dec 5 2021, 9:48 AM · Restricted Project

Dec 4 2021

fwolff requested review of D115106: [clang-tidy] Fix `readability-static-accessed-through-instance` false negative for static methods.
Dec 4 2021, 3:30 PM · Restricted Project, Restricted Project
fwolff updated the diff for D113863: [clang-tidy] Make `readability-container-data-pointer` more robust.
Dec 4 2021, 12:48 PM · Restricted Project
fwolff added inline comments to D113863: [clang-tidy] Make `readability-container-data-pointer` more robust.
Dec 4 2021, 12:46 PM · Restricted Project
fwolff updated the diff for D113863: [clang-tidy] Make `readability-container-data-pointer` more robust.
Dec 4 2021, 12:36 PM · Restricted Project
fwolff updated the diff for D113804: [clang-tidy] Fix behavior of `modernize-use-using` with nested structs/unions.

Thanks for your comments @whisperity! They should all be fixed now.

Dec 4 2021, 12:03 PM · Restricted Project, Restricted Project
fwolff added a comment to D114197: [clang-tidy] Fix false positives involving type aliases in `misc-unconventional-assign-operator` check.

Thanks for your comments @whisperity. I think I've addressed them, could you have another look?

Dec 4 2021, 11:45 AM · Restricted Project
fwolff updated the diff for D114197: [clang-tidy] Fix false positives involving type aliases in `misc-unconventional-assign-operator` check.
Dec 4 2021, 11:39 AM · Restricted Project
fwolff added inline comments to D113518: [clang][Sema] Create delegating constructors even in templates.
Dec 4 2021, 9:52 AM · Restricted Project, Restricted Project

Dec 1 2021

fwolff committed rG987a21522f2c: [clang-tidy] Use `hasCanonicalType()` matcher in `bugprone-unused-raii` check (authored by fwolff).
[clang-tidy] Use `hasCanonicalType()` matcher in `bugprone-unused-raii` check
Dec 1 2021, 4:54 PM
fwolff closed D113429: [clang-tidy] Use `hasCanonicalType()` matcher in `bugprone-unused-raii` check.
Dec 1 2021, 4:54 PM · Restricted Project
fwolff added a comment to D114299: [clang-tidy] Fix `readability-redundant-declaration` false positive for template friend declaration.

Hmm, the test case you added passes without the patch applied: https://godbolt.org/z/T9TerMYGz

Dec 1 2021, 4:30 PM · Restricted Project
fwolff updated the diff for D114299: [clang-tidy] Fix `readability-redundant-declaration` false positive for template friend declaration.
Dec 1 2021, 4:29 PM · Restricted Project
fwolff added a comment to D114129: [libc++] Fix `uniform_int_distribution` for 128-bit result type.

Is there something wrong on our end that's causing this to happen, or is this from something incorrect with the patch?

Dec 1 2021, 3:03 PM · Restricted Project
fwolff updated the diff for D113828: [clang-tidy] Fix false positives in `fuchsia-trailing-return` check involving deduction guides.

LGTM! Can you add a release note about the bug fix?

Dec 1 2021, 11:58 AM · Restricted Project

Nov 30 2021

fwolff added a comment to D114129: [libc++] Fix `uniform_int_distribution` for 128-bit result type.

Ok. In that case, can we add a comment somewhere in uniform_int_distribution that __int128_t is supported?

Nov 30 2021, 4:10 PM · Restricted Project
fwolff updated the diff for D114129: [libc++] Fix `uniform_int_distribution` for 128-bit result type.
Nov 30 2021, 4:07 PM · Restricted Project
fwolff added a comment to D114129: [libc++] Fix `uniform_int_distribution` for 128-bit result type.

I prefer to allow this extension; I even wonder whether not allowing 128-bit values was intentionally or an artifact of prohibiting (un)signed char. In general I prefer to allow __[u]int128_t to be used as a first-class citizen in libc++.

Nov 30 2021, 12:25 PM · Restricted Project
fwolff updated the diff for D114129: [libc++] Fix `uniform_int_distribution` for 128-bit result type.
Nov 30 2021, 12:19 PM · Restricted Project

Nov 25 2021

fwolff added inline comments to D114119: [libcxx] Fix potential lost wake-up in counting semaphore.
Nov 25 2021, 5:05 PM · Restricted Project, Restricted Project
fwolff updated the diff for D114119: [libcxx] Fix potential lost wake-up in counting semaphore.
Nov 25 2021, 4:52 PM · Restricted Project, Restricted Project
fwolff added inline comments to D114129: [libc++] Fix `uniform_int_distribution` for 128-bit result type.
Nov 25 2021, 4:46 PM · Restricted Project
fwolff updated the diff for D114129: [libc++] Fix `uniform_int_distribution` for 128-bit result type.

This attempts to fix the remaining concerns/requests.

Nov 25 2021, 4:40 PM · Restricted Project

Nov 23 2021

fwolff updated the diff for D114119: [libcxx] Fix potential lost wake-up in counting semaphore.
Nov 23 2021, 1:37 PM · Restricted Project, Restricted Project
fwolff updated the diff for D114129: [libc++] Fix `uniform_int_distribution` for 128-bit result type.

Rebased after D114281 was merged.

Nov 23 2021, 1:18 PM · Restricted Project

Nov 19 2021

fwolff requested review of D114299: [clang-tidy] Fix `readability-redundant-declaration` false positive for template friend declaration.
Nov 19 2021, 4:32 PM · Restricted Project
fwolff requested review of D114292: [clang-tidy] Fix `altera-struct-pack-align` check for empty structs.
Nov 19 2021, 3:15 PM · Restricted Project, Restricted Project
fwolff updated the diff for D114272: [InstCombine] Add two optimizations for mul-and-icmp patterns.
Nov 19 2021, 2:38 PM · Restricted Project, Restricted Project
fwolff added a comment to D114272: [InstCombine] Add two optimizations for mul-and-icmp patterns.

This only shows that those tests aren't miscompiled

Nov 19 2021, 2:34 PM · Restricted Project, Restricted Project