Quuxplusone (Arthur O'Dwyer)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 27 2014, 8:52 PM (150 w, 6 d)

Recent Activity

Thu, Nov 16

Quuxplusone added inline comments to D40144: Implement `std::launder`.
Thu, Nov 16, 12:07 PM

Oct 9 2017

Quuxplusone added a comment to D38599: Remove warnings for dynamic_cast fallback..

I'm also much out of my depth here, but I'm skeptical. You're changing the comments in the code from essentially saying "This workaround helps people with broken code" to essentially saying "This indispensable functionality helps people like me who use dlopen()." Are you 100% sure that you're not just a person with broken code?

Oct 9 2017, 2:46 PM

Sep 18 2017

Quuxplusone added inline comments to D37958: [libc++] Correctly propagate user-defined lookup_classname()..
Sep 18 2017, 11:23 AM

Sep 17 2017

Quuxplusone added inline comments to D37958: [libc++] Correctly propagate user-defined lookup_classname()..
Sep 17 2017, 10:34 AM

Sep 13 2017

Quuxplusone requested changes to D37784: Alternative to D35863 - Use the allocator's pointers for deallocation in `std::list`.
Sep 13 2017, 10:28 AM

Sep 12 2017

Quuxplusone added inline comments to D37538: [libc++] Remove problematic ADL in container implementations..
Sep 12 2017, 5:52 PM

Sep 11 2017

Quuxplusone added a comment to D37677: [libc++] implement future synchronization using atomic_flag.

TODO.txt says "future should use <atomic> for synchronization." I would have interpreted this as meaning that the line

Sep 11 2017, 10:42 AM

Aug 8 2017

Quuxplusone added inline comments to D36449: Add dynamic_cast regression tests from PR33425, PR33439, and PR33487.
Aug 8 2017, 7:01 PM
Quuxplusone added inline comments to D36449: Add dynamic_cast regression tests from PR33425, PR33439, and PR33487.
Aug 8 2017, 4:30 PM

Aug 3 2017

Quuxplusone updated the diff for D35863: Use the allocator's pointers for deallocation in `std::list`.

I've updated D35863 to be actually correct AFAICT from my local testing; but I'm not sure what's the most appropriate way to get "fancy allocator" tests into libcxx's test suite. The way I did it locally is here:
https://github.com/Quuxplusone/libcxx/pull/1/files
Basically, I conditionally replace "test_allocator.h" with "test_fancy_allocator.h", and then re-run all the existing tests. "test_fancy_allocator" uses fancy pointers that carry with them a "payload" of the allocated size n, and then in a.deallocate(p,n) we assert that p.payload()==n. A bunch of list tests fail this assertion before this patch, and none fail after this patch.

Aug 3 2017, 8:06 PM

Jul 28 2017

Quuxplusone accepted D35941: Fix -Wshadow false positives with function-local classes..

But if I'm overseeing reasons to issue a warning in this case, we could add an analogue of -Wshadow-uncaptured-local for this case. WDYT?

Jul 28 2017, 9:55 AM

Jul 25 2017

Quuxplusone created D35863: Use the allocator's pointers for deallocation in `std::list`.
Jul 25 2017, 3:56 PM
Quuxplusone added inline comments to D35824: [Sema] Implicitly apply the may_alias attribute to std::byte.
Jul 25 2017, 10:11 AM

Jul 18 2017

Quuxplusone added a comment to D35578: Add -fswitch-tables and -fno-switch-tables flags.

If the goal is fine-grained control over the heuristics for compiling switch statements, perhaps one should enumerate all the possible ways to lower switch statements --- jump-tables, lookup-tables, if-trees, if-chains, (more?) --- and add a separate flag for each of them.
...Although I'm not sure what purpose there'd really be in saying "This switch statement *must* be compiled into an if-else tree" or "this one *must* be a lookup table"; couldn't that end up being a pessimization one day, as the optimizer gets smarter?

Jul 18 2017, 2:49 PM

Jun 26 2017

Quuxplusone added inline comments to D34649: Remove addtional parameters in function std::next() and std::prev().
Jun 26 2017, 3:21 PM

Mar 27 2017

Quuxplusone added inline comments to D30837: [libcxx] Support for shared_ptr<T()>.
Mar 27 2017, 2:34 PM

Mar 10 2017

Quuxplusone added a comment to D30837: [libcxx] Support for shared_ptr<T()>.

I notice that the Standard implies that std::unique_ptr<T> will work only with *object types* T, and yet the "object" wording is missing from shared_ptr.

Mar 10 2017, 2:11 PM

Jan 11 2017

Quuxplusone added inline comments to D28467: [Sema] Add warning for unused lambda captures.
Jan 11 2017, 2:06 AM

Jan 10 2017

Quuxplusone added inline comments to D28467: [Sema] Add warning for unused lambda captures.
Jan 10 2017, 5:47 PM

Dec 29 2016

Quuxplusone updated subscribers of D28148: [Sema] Suppress warnings for C's zero initializer.

Re the language option: In D27163, @rsmith wrote:

Dec 29 2016, 4:23 PM

Dec 26 2016

Quuxplusone added a comment to D27815: [clang-tidy] Add obvious module for obvious bugs.

PVS-Studio implements tons of checks of this variety. See e.g.
http://www.viva64.com/en/b/0299/#ID0E4KBM
They don't have a catchy name for the category either, but perhaps "suspicious-" or "copypaste-" would do.

Dec 26 2016, 12:50 PM
Quuxplusone added inline comments to D27806: [clang-tidy] Add obvious-invalid-range.
Dec 26 2016, 12:35 PM

Dec 16 2016

Quuxplusone added a comment to D27815: [clang-tidy] Add obvious module for obvious bugs.

The provided example (typoing "i" for "j") sounds like the sort of thing that PVS-Studio catches; maybe see what wording they use for that kind of mistake? Without investigating, I would suggest "cut-and-paste-error" or "likely-typo".

Dec 16 2016, 12:38 PM

Dec 15 2016

Quuxplusone added a comment to D27163: Introduce -f[no-]strict-return flag that controls code generation for C++'s undefined behaviour return optimisation.

LGTM. I wonder if rsmith is happy with the exact semantics of "shouldUseUndefinedBehaviorReturnOptimization"... but that seems like a tiny nit that's fixable post-commit anyway.

Dec 15 2016, 10:41 AM
Quuxplusone added inline comments to D27163: Introduce -f[no-]strict-return flag that controls code generation for C++'s undefined behaviour return optimisation.
Dec 15 2016, 3:20 AM

Nov 28 2016

Quuxplusone added inline comments to D27163: Introduce -f[no-]strict-return flag that controls code generation for C++'s undefined behaviour return optimisation.
Nov 28 2016, 1:13 PM

Sep 8 2016

Quuxplusone added inline comments to D22057: Prevent devirtualization of calls to un-instantiated functions..
Sep 8 2016, 11:36 AM

Jul 19 2016

Quuxplusone updated subscribers of D22057: Prevent devirtualization of calls to un-instantiated functions..
Jul 19 2016, 4:06 PM

May 5 2016

Quuxplusone added a comment to D19105: Changes in clang after running http://reviews.llvm.org/D18821.

It seems like this proposed diagnostic and fixit, statistically speaking, is *never* correct.
In the cases where there is a code issue to be corrected, the diagnosable issue really seems to involve dataflow analysis:

May 5 2016, 11:48 AM

Apr 15 2016

Quuxplusone added a comment to D18821: Add bugprone-bool-to-integer-conversion.

I would like to see a new version of http://reviews.llvm.org/D19105 with all the "1-bit-bitfield" diffs removed.
Right now, it's hard to see that there's *anything* in D19105 that's not a miscorrection of a 1-bit bitfield.

Apr 15 2016, 3:50 PM

Apr 16 2015

Quuxplusone updated subscribers of D9059: Add a no_sanitize_vptr function attribute..
Apr 16 2015, 5:28 PM

Dec 28 2014

Quuxplusone updated subscribers of D6178: [Review request][analyzer] Duplicate '0 size allocation' check from unix.API in unix.Malloc..
Dec 28 2014, 7:22 PM

Dec 27 2014

Quuxplusone added a comment to D5789: C99 partial re-initialization behavior (DR-253).

Commented on a test. The functional change is way out of my league.
Also consider adding a "three-pass" test case similar to

Dec 27 2014, 9:09 PM