Quuxplusone (Arthur O'Dwyer)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Mon, Sep 18

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

Sun, Sep 17

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

Wed, Sep 13

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

Tue, Sep 12

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

Mon, Sep 11

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

Mon, Sep 11, 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