Page MenuHomePhabricator

EricWF (Eric Fiselier)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 26 2014, 12:44 PM (233 w, 5 d)

Recent Activity

Yesterday

EricWF added a comment to D55834: [libcxx] Make sure all experimental tests are disabled when enable_experimental=False.

If the tests are header only, why disable them? We are losing code coverage on things people may be depending on.

Tue, Dec 18, 9:49 AM

Mon, Dec 17

EricWF committed rCXX349387: Fix FP comparisons when SSE isn't available.
Fix FP comparisons when SSE isn't available
Mon, Dec 17, 12:21 PM
EricWF committed rL349387: Fix FP comparisons when SSE isn't available.
Fix FP comparisons when SSE isn't available
Mon, Dec 17, 12:21 PM
EricWF committed rL349373: Unbreak green dragon bots w/o __builtin_launder.
Unbreak green dragon bots w/o __builtin_launder
Mon, Dec 17, 10:41 AM
EricWF committed rCXX349373: Unbreak green dragon bots w/o __builtin_launder.
Unbreak green dragon bots w/o __builtin_launder
Mon, Dec 17, 10:41 AM
EricWF committed rL349364: Expect Clang diagnostics in std::launder test.
Expect Clang diagnostics in std::launder test
Mon, Dec 17, 8:59 AM
EricWF committed rCXX349364: Expect Clang diagnostics in std::launder test.
Expect Clang diagnostics in std::launder test
Mon, Dec 17, 8:59 AM

Fri, Dec 14

EricWF accepted D53994: Fixing lower bound regression in certain situations..

Do you have commit access?

Fri, Dec 14, 10:09 PM
EricWF committed rL349252: Fix static assert diagnostic checks in i386.
Fix static assert diagnostic checks in i386
Fri, Dec 14, 9:22 PM
EricWF committed rCXX349252: Fix static assert diagnostic checks in i386.
Fix static assert diagnostic checks in i386
Fri, Dec 14, 9:22 PM
EricWF committed rL349236: Try 2: Fix bug in buildbot start script.
Try 2: Fix bug in buildbot start script
Fri, Dec 14, 7:51 PM
EricWF committed rCXX349236: Try 2: Fix bug in buildbot start script.
Try 2: Fix bug in buildbot start script
Fri, Dec 14, 7:51 PM
EricWF committed rL349235: Fix bug in buildbot start script.
Fix bug in buildbot start script
Fri, Dec 14, 7:48 PM
EricWF committed rCXX349235: Fix bug in buildbot start script.
Fix bug in buildbot start script
Fri, Dec 14, 7:48 PM
EricWF committed rCXX349234: Rework docker setup to make it easier to work around bugs on buildbots.
Rework docker setup to make it easier to work around bugs on buildbots
Fri, Dec 14, 7:29 PM
EricWF committed rL349234: Rework docker setup to make it easier to work around bugs on buildbots.
Rework docker setup to make it easier to work around bugs on buildbots
Fri, Dec 14, 7:27 PM
EricWF committed rL349195: [Clang] Add __builtin_launder.
[Clang] Add __builtin_launder
Fri, Dec 14, 1:15 PM
EricWF committed rC349195: [Clang] Add __builtin_launder.
[Clang] Add __builtin_launder
Fri, Dec 14, 1:14 PM
EricWF closed D40218: [Clang] Add __builtin_launder.
Fri, Dec 14, 1:14 PM
EricWF updated the diff for D40218: [Clang] Add __builtin_launder.

Merging with upstream. Preparing to commit.

Fri, Dec 14, 1:08 PM
EricWF committed rL349193: Add missing includes and forward decls to unbreak build.
Add missing includes and forward decls to unbreak build
Fri, Dec 14, 1:07 PM
EricWF committed rL349189: Tolerate Clangs new static_assert messages.
Tolerate Clangs new static_assert messages
Fri, Dec 14, 12:46 PM
EricWF committed rCXX349189: Tolerate Clangs new static_assert messages.
Tolerate Clangs new static_assert messages
Fri, Dec 14, 12:45 PM

Thu, Dec 13

EricWF committed rCXX349127: Update google benchmark again.
Update google benchmark again
Thu, Dec 13, 7:51 PM
EricWF committed rL349127: Update google benchmark again.
Update google benchmark again
Thu, Dec 13, 7:51 PM
EricWF committed rCXX349126: Update google benchmark version.
Update google benchmark version
Thu, Dec 13, 7:41 PM
EricWF committed rL349126: Update google benchmark version.
Update google benchmark version
Thu, Dec 13, 7:41 PM
EricWF accepted D55664: [libc++] Fix _LIBCPP_EXPORTED_FROM_ABI when visibility annotations are disabled.

Adding @ldionne for visibility.

Thu, Dec 13, 12:06 PM

Wed, Dec 12

EricWF added a comment to D55044: [clang-tidy] check for Abseil make_unique.

I'm not sure how you're building this, but it doesn't link for me. We need to add a dependency on clangTidyModernizeModule since we're deriving from its MakeSmartPtrCheck.

Wed, Dec 12, 7:13 PM · Restricted Project
EricWF added inline comments to D55044: [clang-tidy] check for Abseil make_unique.
Wed, Dec 12, 6:03 PM · Restricted Project
EricWF committed rL348977: [AST] Store "UsesADL" information in CallExpr..
[AST] Store "UsesADL" information in CallExpr.
Wed, Dec 12, 1:54 PM
EricWF committed rC348977: [AST] Store "UsesADL" information in CallExpr..
[AST] Store "UsesADL" information in CallExpr.
Wed, Dec 12, 1:54 PM
EricWF closed D55534: [AST] Store "UsesADL" information in CallExpr..
Wed, Dec 12, 1:54 PM
EricWF updated the diff for D55534: [AST] Store "UsesADL" information in CallExpr..

Address final review comments.

Wed, Dec 12, 1:51 PM

Tue, Dec 11

EricWF added inline comments to D55534: [AST] Store "UsesADL" information in CallExpr..
Tue, Dec 11, 8:11 PM
EricWF updated the diff for D54814: Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`. .

Introduce _LIBCPP_PREFERRED_ALIGNOF for cases where preferred alignment is needed.

Tue, Dec 11, 2:42 PM
EricWF reopened D54814: Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`. .

Reopening with new approach.

Tue, Dec 11, 2:38 PM
EricWF added a comment to D55534: [AST] Store "UsesADL" information in CallExpr..

I think this is good to go. Any more comments?

Tue, Dec 11, 11:56 AM
EricWF updated the diff for D55534: [AST] Store "UsesADL" information in CallExpr..

Address review comments.

Tue, Dec 11, 11:51 AM
EricWF added inline comments to D55534: [AST] Store "UsesADL" information in CallExpr..
Tue, Dec 11, 11:40 AM
EricWF added a comment to D55534: [AST] Store "UsesADL" information in CallExpr..

Address more inline comments.

Tue, Dec 11, 9:11 AM
EricWF committed rL348864: Pass PartialOverloading argument to the correct corresponding parameter.
Pass PartialOverloading argument to the correct corresponding parameter
Tue, Dec 11, 8:56 AM
EricWF committed rC348864: Pass PartialOverloading argument to the correct corresponding parameter.
Pass PartialOverloading argument to the correct corresponding parameter
Tue, Dec 11, 8:56 AM
EricWF updated the diff for D55534: [AST] Store "UsesADL" information in CallExpr..

Register matcher and regenerate docs.

Tue, Dec 11, 8:31 AM
EricWF updated the diff for D55534: [AST] Store "UsesADL" information in CallExpr..

More tests.

Tue, Dec 11, 8:08 AM
EricWF updated the diff for D55534: [AST] Store "UsesADL" information in CallExpr..

Update with fixes for review comments.

Tue, Dec 11, 7:37 AM
EricWF added a comment to D55534: [AST] Store "UsesADL" information in CallExpr..

Address more review comments. Update incoming.

Tue, Dec 11, 7:33 AM
EricWF planned changes to D55517: Remove `_VSTD`.

I'm putting this change on hold until we can reasonable address Olivier's needs.

Tue, Dec 11, 6:29 AM

Mon, Dec 10

EricWF added a comment to D55534: [AST] Store "UsesADL" information in CallExpr..

Address review comments. Fixes incoming.

Mon, Dec 10, 10:49 PM
EricWF added a comment to D55500: [Builtins] Implement __builtin_is_constant_evaluated for use in C++2a.

Sorry for the delayed response. My email filters were incorrect.

Mon, Dec 10, 8:48 PM
EricWF added a comment to D54814: Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`. .

After further thought I don't think this approach is strictly correct.

Mon, Dec 10, 7:38 PM
EricWF added a comment to D55517: Remove `_VSTD`.

Hello Eric, everyone else,

We have projects that are getting great mileage from this macro right now, we'd be sad to see it go. 😰

If you look at https://github.com/ogiroux/freestanding you'll get the gist of what we're doing with it: we don't just change the inline namespace name, we also change the std:: namespace name using the macro. This was never the intended use, I realize, but it allows us to make progress with e.g. side-by-side co-existence for a large & important subset. In other words, the presence of this macro helped make libc++ adaptable the way needed it to be, and may slowly transform us into contributors even (hence netting you great mileage too).

Mon, Dec 10, 7:14 PM
EricWF created D55534: [AST] Store "UsesADL" information in CallExpr..
Mon, Dec 10, 4:44 PM
EricWF updated the diff for D55517: Remove `_VSTD`.

Merge with upstream.

Mon, Dec 10, 4:28 PM
EricWF committed rCXX348812: Add a version of std::function that includes a few optimizations in ABI V2..
Add a version of std::function that includes a few optimizations in ABI V2.
Mon, Dec 10, 4:19 PM
EricWF committed rL348812: Add a version of std::function that includes a few optimizations in ABI V2..
Add a version of std::function that includes a few optimizations in ABI V2.
Mon, Dec 10, 4:19 PM
EricWF closed D55045: Add a version of std::function that includes a few optimizations..

Committed in r348812. Thanks for all your hard work @jsoyke!

Mon, Dec 10, 4:19 PM
EricWF added a comment to D55517: Remove `_VSTD`.
In D55517#1325917, @jfb wrote:

I think your commit message is fun and terse, but it doesn't say why you're actually correct. You're explaining it here, Marshall has voiced concerns about downsides. I think your commit message should explain this and say why you think the downsides aren't relevant. That makes it easier to go back to your change in the future and understand why the change was OK without looking at this discussion.

Mon, Dec 10, 11:59 AM
EricWF added a comment to D55517: Remove `_VSTD`.

We have two different namespaces in libc++.

We have std, which is opened by namespace std {, and referred to using std::.
We have std::__1, which is opened by _LIBCPP_BEGIN_NAMESPACE_STD, and is referred to using _VSTD.
Some things live in former, and some (most) in the latter.

They're different, and the fact that std:: will find things in std::__1 doesn't change that.

Mon, Dec 10, 11:59 AM
EricWF updated the summary of D55517: Remove `_VSTD`.
Mon, Dec 10, 11:51 AM
EricWF added a comment to D55517: Remove `_VSTD`.
In D55517#1325835, @jfb wrote:
In D55517#1325586, @jfb wrote:

Quick Question: What's the difference between writing _VSTD:: and std::? Nothing.

I thought it was std:: _LIBCPP_ABI_NAMESPACE ?

That's correct, however I don't think it's a big deal. Indeed, discussed it and we couldn't find a reason why we would ever want to call a function that is not in the current ABI's namespace. And even if we did, we could always use std::<ABI namespace>::function.

Sure, my point is that the commit message isn't right, and should be updated to have this rationale.

Mon, Dec 10, 11:24 AM
EricWF accepted D55045: Add a version of std::function that includes a few optimizations..
Mon, Dec 10, 11:16 AM
EricWF added a comment to D55517: Remove `_VSTD`.

I personally like this change but I'd wait a bit to see whether other people oppose (and why) before submitting.

I do not like this change.
I think that the loss of flexibility may come back to bite us in the future.

Mon, Dec 10, 10:59 AM
EricWF added a comment to D55517: Remove `_VSTD`.
In D55517#1325586, @jfb wrote:

Quick Question: What's the difference between writing _VSTD:: and std::? Nothing.

I thought it was std:: _LIBCPP_ABI_NAMESPACE ?

Mon, Dec 10, 10:48 AM
EricWF added a comment to D55045: Add a version of std::function that includes a few optimizations..

LGTM after addressing the inline comments. We can further iterate after landing this if needed.

Mon, Dec 10, 10:40 AM
EricWF added inline comments to D55045: Add a version of std::function that includes a few optimizations..
Mon, Dec 10, 10:32 AM
EricWF committed rCXX348778: Refactor std::function to more easily support alternative implementations..
Refactor std::function to more easily support alternative implementations.
Mon, Dec 10, 10:18 AM
EricWF committed rL348778: Refactor std::function to more easily support alternative implementations..
Refactor std::function to more easily support alternative implementations.
Mon, Dec 10, 10:17 AM
EricWF closed D55520: Refactor std::function to more easily support alternative implementations..

Committed as r348778.

Mon, Dec 10, 10:17 AM
EricWF accepted D55520: Refactor std::function to more easily support alternative implementations..

LGTM. Thanks for factoring this out.
Do you have commit access.

Mon, Dec 10, 10:08 AM
EricWF added inline comments to D54677: [hurd] Fix unconditional use of PATH_MAX.
Mon, Dec 10, 9:52 AM
EricWF created D55517: Remove `_VSTD`.
Mon, Dec 10, 9:21 AM
EricWF accepted D55466: Change `tuple_size` from a `class` to a `struct` (see PR#39871).

Consider adding a *.fail.cpp test that declares a specialization as a class and checks for

// expected-error {{tuple_size' defined as a class template here but previously declared as a struct template}}
Mon, Dec 10, 8:49 AM

Sun, Dec 9

EricWF requested changes to D47344: LWG 2843 "Unclear behavior of std::pmr::memory_resource::do_allocate()".

I don't think this patch is correct or desirable any longer.

Sun, Dec 9, 7:01 PM
EricWF requested changes to D47111: <experimental/memory_resource>: Implement monotonic_buffer_resource..

Some of the tests aren't passing with Trunk clang. Please fix these.

Sun, Dec 9, 6:00 PM
EricWF created D55500: [Builtins] Implement __builtin_is_constant_evaluated for use in C++2a.
Sun, Dec 9, 5:49 PM
EricWF updated the diff for D40218: [Clang] Add __builtin_launder.

Address review comments.

Sun, Dec 9, 1:40 PM
EricWF added inline comments to D40218: [Clang] Add __builtin_launder.
Sun, Dec 9, 1:35 PM

Fri, Dec 7

EricWF closed D53830: [clang-tidy]: Abseil: new check 'abseil-upgrade-duration-conversions'.

Committed as r348633.

Fri, Dec 7, 12:06 PM · Restricted Project
EricWF committed rL348633: [clang-tidy]: Abseil: new check 'abseil-upgrade-duration-conversions'.
[clang-tidy]: Abseil: new check 'abseil-upgrade-duration-conversions'
Fri, Dec 7, 12:06 PM
EricWF committed rCTE348633: [clang-tidy]: Abseil: new check 'abseil-upgrade-duration-conversions'.
[clang-tidy]: Abseil: new check 'abseil-upgrade-duration-conversions'
Fri, Dec 7, 12:06 PM

Mon, Dec 3

EricWF added inline comments to D55045: Add a version of std::function that includes a few optimizations..
Mon, Dec 3, 12:39 PM
EricWF added a comment to D55045: Add a version of std::function that includes a few optimizations..

I think this means we should only ever have at most 2 versions of std::function. One for the stable ABI and potentially an improved version for the unstable ABI.

This is where we disagree -- I don't think there's a universally better implementation of std::function. One implementation might be better in some circumstances and another implementation might be better in other circumstances, hence my claim that we should not go for a solution that assumes at most two implementations.

Mon, Dec 3, 11:53 AM
EricWF added a comment to D55045: Add a version of std::function that includes a few optimizations..

I don't see the issue with breaking ABI that's designated as unstable as long as there's some form of announcement to avoid any confusion. Fundamentally that's the entire point of having unstable ABI versions, some changes are just not really possible to make without ABI breakages, most consumers just use the stable ABI, while unstable ABI is not backwards compatible otherwise it would make a whole range of changes to libc++ and/or Clang impossible.

Mon, Dec 3, 10:55 AM
EricWF added a comment to D32950: Support C++1z features in `__has_extension`.

I don't mind picking it up again, but it won't be until next week.

Mon, Dec 3, 9:45 AM

Fri, Nov 30

EricWF added a comment to D55057: [Headers] Make max_align_t match GCC's implementation..
@jyknight wrote:

And then use that to determine whether to add float128 to the union?

Fri, Nov 30, 8:45 PM
EricWF added inline comments to D55045: Add a version of std::function that includes a few optimizations..
Fri, Nov 30, 5:48 PM
EricWF added a comment to D55045: Add a version of std::function that includes a few optimizations..

FWIW, I'm slightly in favor of using different headers. For example, I just realized that this change currently leaves a bunch of baggage symbols laying around that the new code won't use, it would be easier to see that kind of thing if the internals of each function were just in it's own file.

Fri, Nov 30, 5:41 PM
EricWF accepted D54485: [libcxx] Implement P0318R1: unwrap_ref_decay and unwrap_reference.

LGTM.

Fri, Nov 30, 3:44 PM
EricWF added a reviewer for D55044: [clang-tidy] check for Abseil make_unique: EricWF.
Fri, Nov 30, 10:55 AM · Restricted Project

Thu, Nov 29

EricWF requested changes to D54966: Implement P1007R3 `std::assume_aligned`.

We don't need to use __builtin_assume_aligned to implement this. We can use __attribute__((assume_aligned(N))) instead. That solves our constexpr problem.

Thu, Nov 29, 10:06 PM
EricWF added a comment to D55045: Add a version of std::function that includes a few optimizations..

I'd like to see benchmarking results that show the benefit of this approach.

Thu, Nov 29, 4:08 PM
EricWF added a comment to D55045: Add a version of std::function that includes a few optimizations..

Still seeing a bunch of unreserved names. Everything has to use ugly identifiers unless it's specified in the standard.

Thu, Nov 29, 8:59 AM
EricWF created D55057: [Headers] Make max_align_t match GCC's implementation..
Thu, Nov 29, 8:40 AM

Wed, Nov 28

EricWF committed rL347816: Revert "Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`..
Revert "Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`.
Wed, Nov 28, 2:27 PM
EricWF committed rCXX347816: Revert "Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`..
Revert "Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`.
Wed, Nov 28, 2:27 PM
EricWF committed rCXX347790: Fix bad _LIBCPP_ALIGNOF test.
Fix bad _LIBCPP_ALIGNOF test
Wed, Nov 28, 10:35 AM
EricWF committed rL347790: Fix bad _LIBCPP_ALIGNOF test.
Fix bad _LIBCPP_ALIGNOF test
Wed, Nov 28, 10:35 AM
EricWF committed rL347787: Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`. .
Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`.
Wed, Nov 28, 10:19 AM
EricWF committed rCXX347787: Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`. .
Move internal usages of `alignof`/`__alignof` to use `_LIBCPP_ALIGNOF`.
Wed, Nov 28, 10:19 AM