Page MenuHomePhabricator

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

ckennelly (Chris Kennelly)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 4 2018, 4:06 PM (299 w, 3 d)

Recent Activity

Jul 15 2021

ckennelly added a comment to D102727: Use precise growth rather than amortized growth in std::string::resize/__resize_default_init..

@ckennelly I know you did a lot of work on std::string, can you take a look at this change?

Jul 15 2021, 10:44 AM · Restricted Project, Restricted Project
ckennelly added a reviewer for D102727: Use precise growth rather than amortized growth in std::string::resize/__resize_default_init.: mvels.
Jul 15 2021, 10:42 AM · Restricted Project, Restricted Project

Feb 26 2021

ckennelly added a comment to D90111: Partially implement C++20's P1020/P1973..

Any updates on the shared_ptr work?

Feb 26 2021, 11:33 AM · Restricted Project, Restricted Project

Jan 7 2021

ckennelly added a comment to D90111: Partially implement C++20's P1020/P1973..

Ping

Jan 7 2021, 11:34 AM · Restricted Project, Restricted Project

Dec 9 2020

ckennelly requested review of D92992: [clang-tidy] Add make_unique_for_overwrite/make_shared_for_overwrite check..
Dec 9 2020, 7:12 PM · Restricted Project, Restricted Project

Dec 8 2020

ckennelly committed rG8d2c095e5a6b: [clang-tidy] Omit std::make_unique/make_shared for default initialization. (authored by ckennelly).
[clang-tidy] Omit std::make_unique/make_shared for default initialization.
Dec 8 2020, 7:34 AM
ckennelly closed D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..
Dec 8 2020, 7:34 AM · Restricted Project, Restricted Project
ckennelly committed rG16622d535c02: [clang-tidy] Recognize single character needles for absl::StrContains. (authored by ckennelly).
[clang-tidy] Recognize single character needles for absl::StrContains.
Dec 8 2020, 7:01 AM
ckennelly closed D92810: [clang-tidy] Recognize single character needles for absl::StrContains..
Dec 8 2020, 7:01 AM · Restricted Project

Dec 7 2020

ckennelly requested review of D92810: [clang-tidy] Recognize single character needles for absl::StrContains..
Dec 7 2020, 8:31 PM · Restricted Project
ckennelly added a comment to D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

@njames93: Any additional comments?

Dec 7 2020, 11:18 AM · Restricted Project, Restricted Project
ckennelly added a comment to D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

thanks, I think this patch is good, feel free to land it (and sorry for the delay).

As @lebedev.ri commented, would be nice to mention the motivation of the change (make_shared_for_overwrite?) in the description.

Dec 7 2020, 9:13 AM · Restricted Project, Restricted Project
ckennelly updated the diff for D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

updating commit message

Dec 7 2020, 9:13 AM · Restricted Project, Restricted Project
ckennelly updated the diff for D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

rebase

Dec 7 2020, 9:12 AM · Restricted Project, Restricted Project

Dec 6 2020

ckennelly added a comment to D90111: Partially implement C++20's P1020/P1973..

Ping

Dec 6 2020, 6:04 PM · Restricted Project, Restricted Project
ckennelly added a comment to D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

Ping

Dec 6 2020, 6:04 PM · Restricted Project, Restricted Project

Nov 28 2020

ckennelly added a comment to D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

Ping

Nov 28 2020, 9:24 AM · Restricted Project, Restricted Project

Nov 23 2020

ckennelly added a comment to D90111: Partially implement C++20's P1020/P1973..

Ping

Nov 23 2020, 9:43 PM · Restricted Project, Restricted Project

Nov 20 2020

ckennelly committed rGe4f9b5d442a2: [clang-tidy] Include std::basic_string_view in readability-redundant-string… (authored by ckennelly).
[clang-tidy] Include std::basic_string_view in readability-redundant-string…
Nov 20 2020, 7:07 AM
ckennelly closed D91009: [clang-tidy] Include std::basic_string_view in readability-redundant-string-init..
Nov 20 2020, 7:06 AM · Restricted Project, Restricted Project

Nov 19 2020

ckennelly added inline comments to D91009: [clang-tidy] Include std::basic_string_view in readability-redundant-string-init..
Nov 19 2020, 8:22 PM · Restricted Project, Restricted Project
ckennelly updated the diff for D91009: [clang-tidy] Include std::basic_string_view in readability-redundant-string-init..

Applied review feedback

Nov 19 2020, 8:22 PM · Restricted Project, Restricted Project

Nov 18 2020

ckennelly updated the diff for D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

Added option to allow rewrites for default to value initialization

Nov 18 2020, 9:30 PM · Restricted Project, Restricted Project
ckennelly committed rG25f5406f0875: [clang-tidy] Extend bugprone-string-constructor-check to std::string_view. (authored by ckennelly).
[clang-tidy] Extend bugprone-string-constructor-check to std::string_view.
Nov 18 2020, 6:16 PM
ckennelly closed D91015: [clang-tidy] Extend bugprone-string-constructor-check to std::string_view..
Nov 18 2020, 6:16 PM · Restricted Project

Nov 16 2020

ckennelly added a comment to D91009: [clang-tidy] Include std::basic_string_view in readability-redundant-string-init..

Ping

Nov 16 2020, 9:08 PM · Restricted Project, Restricted Project
ckennelly added inline comments to D91015: [clang-tidy] Extend bugprone-string-constructor-check to std::string_view..
Nov 16 2020, 9:07 PM · Restricted Project
ckennelly updated the diff for D91015: [clang-tidy] Extend bugprone-string-constructor-check to std::string_view..

Applied review comments

Nov 16 2020, 9:07 PM · Restricted Project
ckennelly updated the diff for D91015: [clang-tidy] Extend bugprone-string-constructor-check to std::string_view..

Applied review feedback

Nov 16 2020, 8:45 PM · Restricted Project
ckennelly added a comment to D90111: Partially implement C++20's P1020/P1973..

Ping

Nov 16 2020, 8:43 PM · Restricted Project, Restricted Project

Nov 9 2020

ckennelly updated the diff for D91009: [clang-tidy] Include std::basic_string_view in readability-redundant-string-init..

Applied feedback from review

  • reduced test cases to verify functionality
  • updated release notes
  • updated docs
Nov 9 2020, 8:29 PM · Restricted Project, Restricted Project
ckennelly added a comment to D91009: [clang-tidy] Include std::basic_string_view in readability-redundant-string-init..

You don't really need to duplicate every single std::string test. Just enough so that it detects it, kind of like ::out::TestString. Also can you update the docs and release notes to explain this behaviour.

Nov 9 2020, 8:29 PM · Restricted Project, Restricted Project
ckennelly added a comment to D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

njames93: Ping

Nov 9 2020, 8:17 PM · Restricted Project, Restricted Project

Nov 7 2020

ckennelly added inline comments to D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..
Nov 7 2020, 2:19 PM · Restricted Project, Restricted Project
ckennelly requested review of D91015: [clang-tidy] Extend bugprone-string-constructor-check to std::string_view..
Nov 7 2020, 1:42 PM · Restricted Project
ckennelly requested review of D91009: [clang-tidy] Include std::basic_string_view in readability-redundant-string-init..
Nov 7 2020, 11:33 AM · Restricted Project, Restricted Project

Nov 3 2020

ckennelly updated the diff for D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

Expand tests to cover value and default initialization

Nov 3 2020, 7:48 PM · Restricted Project, Restricted Project
ckennelly added a comment to D90111: Partially implement C++20's P1020/P1973..

Ping

Nov 3 2020, 5:21 PM · Restricted Project, Restricted Project
ckennelly added a comment to D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

Ping

Nov 3 2020, 6:28 AM · Restricted Project, Restricted Project

Oct 29 2020

ckennelly added a comment to D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

IIUC, this is handling the case where Ptr.reset(new int) which is different to Ptr.reset(new int()) because the former doesn't initialise the int while the latter default(zero) initialises it.
If that's correct I still think we should still warn about this case, but don't suggest an auto-fix as that will change behaviour.
Maybe put a note explaining why it can't be auto-fixed.

I disagree with printing a warning but not a fix.

These uses should migrate to std::make_unique_for_overwrite/std::make_shared_for_overwrite. I am planning on sending a follow-up patch for that but want to avoid the existing make-unique/make-shared checks try to migrate default initialization use cases.

Reminder that there is more than one version of C++ standard, and users are not obligated to be using some particular version, and the checks should not be making that decision for user.

Oct 29 2020, 11:59 AM · Restricted Project, Restricted Project
ckennelly added a comment to D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

IIUC, this is handling the case where Ptr.reset(new int) which is different to Ptr.reset(new int()) because the former doesn't initialise the int while the latter default(zero) initialises it.
If that's correct I still think we should still warn about this case, but don't suggest an auto-fix as that will change behaviour.
Maybe put a note explaining why it can't be auto-fixed.

Oct 29 2020, 9:12 AM · Restricted Project, Restricted Project
ckennelly updated the diff for D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

Apply review feedback from njames93

Oct 29 2020, 9:11 AM · Restricted Project, Restricted Project
ckennelly updated the diff for D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..

Apply feedback from ymandel

Oct 29 2020, 9:09 AM · Restricted Project, Restricted Project
ckennelly requested review of D90392: [clang-tidy] Omit std::make_unique/make_shared for default initialization..
Oct 29 2020, 6:31 AM · Restricted Project, Restricted Project

Oct 28 2020

ckennelly added a comment to D90111: Partially implement C++20's P1020/P1973..

The test failures look like unrelated tests with flakes.

Oct 28 2020, 6:23 PM · Restricted Project, Restricted Project

Oct 27 2020

ckennelly updated the diff for D90111: Partially implement C++20's P1020/P1973..

Restrict verify tests to C++20

Oct 27 2020, 6:31 PM · Restricted Project, Restricted Project
ckennelly added inline comments to D87171: Implement P0919R3.
Oct 27 2020, 9:35 AM · Restricted Project

Oct 26 2020

ckennelly updated the diff for D90111: Partially implement C++20's P1020/P1973..

Apply feedback on review

Oct 26 2020, 7:55 PM · Restricted Project, Restricted Project
ckennelly added a comment to D90111: Partially implement C++20's P1020/P1973..

Thanks a lot for the patch! Do you think you could update the patch with the rest of the paper too? I'm fine reviewing it all in one patch (actually I find it easier to validate that the whole paper is implemented that way).

Oct 26 2020, 10:30 AM · Restricted Project, Restricted Project

Oct 24 2020

ckennelly updated the diff for D90111: Partially implement C++20's P1020/P1973..
  • Fix synposis
  • Restrict tests to C++20
Oct 24 2020, 8:18 PM · Restricted Project, Restricted Project
ckennelly updated the diff for D90111: Partially implement C++20's P1020/P1973..

Fixing lint errors

Oct 24 2020, 8:08 PM · Restricted Project, Restricted Project
ckennelly added reviewers for D90111: Partially implement C++20's P1020/P1973.: EricWF, mvels.
Oct 24 2020, 6:54 PM · Restricted Project, Restricted Project
ckennelly requested review of D90111: Partially implement C++20's P1020/P1973..
Oct 24 2020, 6:54 PM · Restricted Project, Restricted Project

Aug 13 2020

ckennelly added a comment to D85841: [tsan] Respect no_huge_pages_for_shadow..

Fix in https://reviews.llvm.org/D85944

Aug 13 2020, 3:17 PM · Restricted Project
ckennelly requested review of D85944: [NFC] Remove unused function..
Aug 13 2020, 3:17 PM · Restricted Project
ckennelly committed rG097c8fb2cbc1: [NFC] Remove unused variables. (authored by ckennelly).
[NFC] Remove unused variables.
Aug 13 2020, 2:57 PM
ckennelly closed D85939: [NFC] Remove unused variables..
Aug 13 2020, 2:57 PM · Restricted Project
ckennelly requested review of D85939: [NFC] Remove unused variables..
Aug 13 2020, 2:52 PM · Restricted Project
ckennelly committed rG96855125e770: [tsan] Respect no_huge_pages_for_shadow. (authored by ckennelly).
[tsan] Respect no_huge_pages_for_shadow.
Aug 13 2020, 12:55 PM
ckennelly closed D85841: [tsan] Respect no_huge_pages_for_shadow..
Aug 13 2020, 12:55 PM · Restricted Project
ckennelly added a comment to D85841: [tsan] Respect no_huge_pages_for_shadow..

Applied edits, and lint errors

Aug 13 2020, 9:28 AM · Restricted Project
ckennelly updated the diff for D85841: [tsan] Respect no_huge_pages_for_shadow..
Aug 13 2020, 9:27 AM · Restricted Project

Aug 12 2020

ckennelly requested review of D85841: [tsan] Respect no_huge_pages_for_shadow..
Aug 12 2020, 9:17 AM · Restricted Project

Jul 31 2020

ckennelly accepted D85061: [msan] Respect no_huge_pages_for_shadow..

We could scan /proc/self/smaps for regions huge page eligibility, but that's probably brittle/annoying.

Jul 31 2020, 7:03 PM · Restricted Project

Jan 23 2020

ckennelly accepted D72516: [llvm-libc] Add memory function benchmarks.
Jan 23 2020, 9:11 AM · Restricted Project

Jan 22 2020

ckennelly requested changes to D72516: [llvm-libc] Add memory function benchmarks.
Jan 22 2020, 2:31 PM · Restricted Project

Oct 10 2019

ckennelly committed rL374348: Add github commit access for ckennelly..
Add github commit access for ckennelly.
Oct 10 2019, 6:38 AM

May 8 2019

ckennelly added a comment to D59999: Allow the compiler to optimize `string == "literal string"`..

I can go through the char_traits, but char_traits::compare() has an extra branch that is unnecessary here. compare checks that the size is not 0, which is useful to avoid calling memcmp with null pointers. But there is no possiblity of null pointers here. The .data() will never return null, and the char* can't be null either (there is an assertion for that, and we passed it to strlen).

May 8 2019, 11:32 AM · Restricted Project

Jan 18 2019

ckennelly added a comment to D55741: Implementation Feature Test Macros for P0722R3.

I'd be happy to restrict this to > C++17 only (which is automatically the case when using G++ because there's no -fdestroying-delete to enable it, you only get it with -std=c++2a, -std=gnu++2a etc.)

Jan 18 2019, 4:32 PM · Restricted Project

Jan 16 2019

ckennelly added a comment to D55741: Implementation Feature Test Macros for P0722R3.

Conditioning off of C++17 (or part C++11 and part C++17) seems reasonable, although we may want consistency with libc++ (discussion on https://reviews.llvm.org/D55840).

Jan 16 2019, 5:21 PM · Restricted Project

Jan 11 2019

ckennelly added a comment to D55840: P0722R3: Implement library support for destroying delete.

Another question - why do we need to check if clang supports destroying delete to define the type destroying_delete_t? Why not define it always, and just define the feature test macro when we have compiler support?

I'm not a big fan of this approach. It seems better to define __cpp_lib_destroying_delete if and only if we provide destroying_delete_t, which makes sense if and only if the compiler has support for it (i.e. __cpp_impl_destroying_delete is defined).

Jan 11 2019, 9:35 AM
ckennelly committed rL350934: Implementation Feature Test Macros for P0722R3.
Implementation Feature Test Macros for P0722R3
Jan 11 2019, 9:13 AM
ckennelly committed rC350934: Implementation Feature Test Macros for P0722R3.
Implementation Feature Test Macros for P0722R3
Jan 11 2019, 9:13 AM
ckennelly closed D55741: Implementation Feature Test Macros for P0722R3.
Jan 11 2019, 9:13 AM · Restricted Project

Jan 7 2019

ckennelly committed rL350605: [NFC] Remove empty line as a test commit..
[NFC] Remove empty line as a test commit.
Jan 7 2019, 8:08 PM

Dec 18 2018

ckennelly created D55840: P0722R3: Implement library support for destroying delete.
Dec 18 2018, 10:52 AM

Dec 17 2018

ckennelly added a comment to D55741: Implementation Feature Test Macros for P0722R3.

Yes, I need someone to commit for me.

Dec 17 2018, 6:16 AM · Restricted Project

Dec 16 2018

ckennelly updated the diff for D55741: Implementation Feature Test Macros for P0722R3.

Added update to cxx_status.html for partial implementation of feature test macros adopted in San Diego

Dec 16 2018, 9:34 PM · Restricted Project

Dec 15 2018

ckennelly created D55741: Implementation Feature Test Macros for P0722R3.
Dec 15 2018, 9:04 PM · Restricted Project

Oct 11 2018

ckennelly added inline comments to D53120: Implement sized deallocation for std::allocator and friends..
Oct 11 2018, 9:16 AM

Jan 18 2018

ckennelly added a comment to D41746: Make std::get_temporary_buffer respect overaligned types when possible.

I don't have commit access, so can this be committed to trunk?

Jan 18 2018, 1:11 PM

Jan 12 2018

ckennelly added a comment to D41746: Make std::get_temporary_buffer respect overaligned types when possible.

This LGTM minus nits.

Is there a LWG issue or paper that specifies this change? or is it just a general bug fix?

Jan 12 2018, 1:32 PM
ckennelly updated the diff for D41746: Make std::get_temporary_buffer respect overaligned types when possible.
Jan 12 2018, 1:28 PM

Jan 4 2018

ckennelly created D41746: Make std::get_temporary_buffer respect overaligned types when possible.
Jan 4 2018, 4:33 PM