Page MenuHomePhabricator

EricWF (Eric Fiselier)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 26 2014, 12:44 PM (301 w, 6 d)

Recent Activity

Today

EricWF committed rG601f7631827a: [libcxx] Adds [concept.same] (authored by EricWF).
[libcxx] Adds [concept.same]
Wed, Apr 8, 3:14 PM
EricWF added a comment to D74350: [libcxx][type_traits] Add C++20 changes to common_type.

I assume this is a behavioral change? Why are there no new tests?

Wed, Apr 8, 3:13 PM · Restricted Project
EricWF closed D74291: [libcxx] Adds [concept.same].

Committed as 601f7631827ae6ac08117a282c83a62b67dedf48

Wed, Apr 8, 3:13 PM

Yesterday

EricWF accepted D77681: Reset more globalMemCounters..
Tue, Apr 7, 4:22 PM · Restricted Project
EricWF accepted D76093: Don't expose unavailable cstdio functions..
Tue, Apr 7, 3:16 PM · Restricted Project
EricWF accepted D74291: [libcxx] Adds [concept.same].

I have some concerns with how we harden our concepts,
but these can be addressed in follow up commits.

Tue, Apr 7, 10:50 AM

Sat, Apr 4

EricWF committed rG62f3a9650a9f: [libc++] Attempt to workaround module invalidation bug (authored by EricWF).
[libc++] Attempt to workaround module invalidation bug
Sat, Apr 4, 12:19 AM

Fri, Apr 3

EricWF accepted D77338: [libc++] Add an alternative Lit test format.

I like tests.
Assuming all of them pass;: LGTM.

Fri, Apr 3, 2:07 AM · Restricted Project, Restricted Project

Tue, Mar 31

EricWF accepted D76731: [libc++] Do not rely on the environment to run filesystem tests.
Tue, Mar 31, 1:04 AM · Restricted Project

Thu, Mar 26

EricWF added inline comments to D76311: [libc++] Do not force the use of -Werror in verify tests.
Thu, Mar 26, 6:30 PM · Restricted Project
EricWF added a comment to D76798: [libc++] Make sure that temp_directory_path() doesn't return a path with a trailing slash.

I don't necessarily agree.

Thu, Mar 26, 9:11 AM · Restricted Project
EricWF added a comment to D76798: [libc++] Make sure that temp_directory_path() doesn't return a path with a trailing slash.

Lets not start writing tests like this.

Thu, Mar 26, 8:38 AM · Restricted Project
EricWF added inline comments to D76731: [libc++] Do not rely on the environment to run filesystem tests.
Thu, Mar 26, 8:06 AM · Restricted Project
EricWF accepted D76785: [libc++] Set filesystem test flags in a lit.local.cfg.
Thu, Mar 26, 8:06 AM · Restricted Project
EricWF added a reverting change for rGa32b94c6c3a1: [libc++] Run the builders Docker containers 'as 'buildbot instead of 'root': rG076773253ebf: Revert "[libc++] Run the builders Docker containers 'as 'buildbot instead of….
Thu, Mar 26, 5:23 AM
EricWF committed rG076773253ebf: Revert "[libc++] Run the builders Docker containers 'as 'buildbot instead of… (authored by EricWF).
Revert "[libc++] Run the builders Docker containers 'as 'buildbot instead of…
Thu, Mar 26, 5:23 AM

Tue, Mar 24

EricWF committed rGd6fb02b196da: [libc++] Update a bad documentation link (authored by EricWF).
[libc++] Update a bad documentation link
Tue, Mar 24, 6:37 PM
EricWF requested changes to D76636: [RFC] Added type trait to remove address space qualifier from type.

We don't implement non-standard extensions in libc++.
Only when this trait is proposed for standardization can we consider adding it to the library

Tue, Mar 24, 1:28 PM

Mon, Mar 23

EricWF accepted D76618: [libc++] Bump Clang support for Clang 4.

I would like us to be even more aggressive bumping our compiler support,
but that's a conversation for another time.

Mon, Mar 23, 9:14 AM · Restricted Project
EricWF accepted D76256: [libc++] Require the use of clang-verify in .fail.cpp tests that don't fail without it.

These tests still require that "arbitrary" warning flag be enabled.

I don't understand? The only reason these tests were using that flag was to cause a compilation error (instead of a warning) on GCC. If we properly require that we're able to check the diagnostics, which is the goal, we can stop trying to make them fail arbitrarily on GCC.

Mon, Mar 23, 8:09 AM · Restricted Project

Sat, Mar 21

EricWF accepted D76104: Remove legacy CMake targets for libcxx and libcxxabi.
Sat, Mar 21, 5:06 PM · Restricted Project, Restricted Project
EricWF added a comment to D76431: Introduce LIBUNWIND_LIT_ARGS, LIBCXXABI_LIT_ARGS and LIBCXX_LIT_AGRS.

Why do we need separate options for each project?
I think that's the wrong direction.

Sat, Mar 21, 5:06 PM · Restricted Project, Restricted Project, Restricted Project
EricWF committed rG90c74435d366: [libc++] tolerate missing diagnostic with modules enabled (authored by EricWF).
[libc++] tolerate missing diagnostic with modules enabled
Sat, Mar 21, 1:52 PM
EricWF committed rGc0e1135fb087: [libc++] Fix URL to llvm github (authored by EricWF).
[libc++] Fix URL to llvm github
Sat, Mar 21, 7:30 AM
EricWF committed rGdeb510337840: [libc++] Rework buildbot configuration for the greater good. (authored by EricWF).
[libc++] Rework buildbot configuration for the greater good.
Sat, Mar 21, 7:30 AM
EricWF committed rG05880fc9ae78: [libc++] fix some non-modular tests (authored by EricWF).
[libc++] fix some non-modular tests
Sat, Mar 21, 7:30 AM

Wed, Mar 18

EricWF added a comment to D76256: [libc++] Require the use of clang-verify in .fail.cpp tests that don't fail without it.

These tests still require that "arbitrary" warning flag be enabled.

Wed, Mar 18, 8:04 PM · Restricted Project
EricWF accepted D76311: [libc++] Do not force the use of -Werror in verify tests.

I'm not sure I love this, but I'm OK demoting warnings to errors in the XFAIL tests.

Wed, Mar 18, 8:04 PM · Restricted Project

Mon, Mar 16

EricWF accepted D76150: Fix -Wdeprecated-copy-dtor and -Wdeprecated-dynamic-exception-spec warnings..
In D76150#1922104, @dim wrote:

Note: one thing that I am unsure about is the _NOEXCEPT after some of the copy constructors. I only applied those to classes that have other _NOEXCEPT constructors, but copying may involve other things that could throw.

Maybe it is safer to not use _NOEXCEPT at all for all of them, instead?

Mon, Mar 16, 6:03 PM · Restricted Project

Sat, Mar 14

EricWF removed a reviewer for D76177: Add support for unwrapping all contiguous iterators: Restricted Project.
Sat, Mar 14, 10:43 AM
EricWF created D76177: Add support for unwrapping all contiguous iterators.
Sat, Mar 14, 8:33 AM

Fri, Mar 13

EricWF added a comment to D76093: Don't expose unavailable cstdio functions..

Could we add a .fail.cpp test that ensures when _LIBCPP_HAS_NO_FGETPOS is defined we don't actually have it?

Fri, Mar 13, 1:29 PM · Restricted Project
EricWF reopened D76091: Move more tests to globalMemCounter and reset..

Some of the changes in this patch are not correct. Please revert them in a follow up commit.

Fri, Mar 13, 1:29 PM · Restricted Project

Wed, Mar 11

EricWF requested changes to D75905: [libc++][P1115][C++20] Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if..

I think there is a bug in the paper, but I think the return type should be difference_type not size_type.
The paper says the return value is equivalent to:

Wed, Mar 11, 8:23 PM · Restricted Project
EricWF requested changes to D75960: [libc++] Implement C++20's P0476r2: std::bit_cast.

LGTM other than the lack of tests.

Wed, Mar 11, 8:21 PM · Restricted Project
EricWF requested changes to D75622: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol | match_not_bow.
Wed, Mar 11, 8:21 PM · Restricted Project
EricWF requested changes to D71994: SFINAE span default constructor on Extent == 0.

Does this really need concepts?

Wed, Mar 11, 8:21 PM · Restricted Project
EricWF requested changes to D74997: [libc++] Bugfix to std::binomial_distribution<int>.

Could you please upload this diff with more context?
(https://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface)

Wed, Mar 11, 8:21 PM · Restricted Project
EricWF requested changes to D75795: [libc++abi] Change __cxa_finalize return type to void.

Sorry about this -- I'll try to be more careful in the future about getting my changes vetted.

@rprichard has no commits to libc++/libc++abi

Pedantic: I do have a couple libcxxabi patches, but @EricWF committed them for me (D36446 and D36447).

Why are we declaring this function at all?

I don't know. __cxa_finalize and __cxa_atexit are part of the IA-64 C++ ABI, so I suppose the notice at the top of the file applies. They're implemented elsewhere, though, not in libcxxabi.

/*
 * This header provides the interface to the C++ ABI as defined at:
 *       https://itanium-cxx-abi.github.io/cxx-abi/
 */
Wed, Mar 11, 8:21 PM · Restricted Project, Restricted Project, Restricted Project
EricWF accepted D75950: [libc++abi] NFC: Move AtomicInt to cxa_guard_impl.h.

Is this just a clean move, or is the class definition changed as well?
I can't tell with all the linter warnings in the way.

Wed, Mar 11, 3:56 PM · Restricted Project, Restricted Project, Restricted Project
EricWF accepted D75950: [libc++abi] NFC: Move AtomicInt to cxa_guard_impl.h.
Wed, Mar 11, 3:56 PM · Restricted Project, Restricted Project, Restricted Project
EricWF accepted D71894: [libcxxabi] Allow tests to link with static libc++abi/libc++ even if the shared version is present.

Your good to commit.

Wed, Mar 11, 3:56 PM · Restricted Project, Restricted Project, Restricted Project
EricWF requested changes to D72282: [clang-tidy] Add `bugprone-unintended-adl`.
  • This check should suggest fixes. It knows what function is actually being resolved, and it has enough information to create a minimally qualified name that resolves it.
  • This check should ignore hidden friends, since their entire purpose is to be called via ADL.
  • This check should allow whitelisting namespaces that opt-out of ADL into their namespace. This makes it much easier to roll out the clang-tidy incrementally.
Wed, Mar 11, 3:56 PM · Restricted Project, Restricted Project
EricWF added a comment to D72282: [clang-tidy] Add `bugprone-unintended-adl`.

I'll be picking this up seriously this week.
I'm currently getting an internal version of this clang-tidy reviewed,
and my plan was to submit it upstream after because I didn't see this
patch until now (bad email filters).

Wed, Mar 11, 3:20 PM · Restricted Project, Restricted Project
EricWF requested changes to D73245: Avoid using std::max_align_t in pre-C++11 mode.

I've already stated my disapproval of this patch. Libc++ has never and will never provide nor value C++03 conformance.
Moving backwards to C++03 is inconsistent with the libraries general direction.

Wed, Mar 11, 3:19 PM · Restricted Project
EricWF requested changes to D62778: [1/2] Add a benchmark for map operations..
Wed, Mar 11, 2:41 PM · Restricted Project
EricWF accepted D75955: [libcxx] Enable C++17 for the benchmarks.
Wed, Mar 11, 2:41 PM · Restricted Project
EricWF abandoned D70336: Explicitly enumerate std::string external instantiations..
Wed, Mar 11, 2:41 PM
EricWF requested changes to D75795: [libc++abi] Change __cxa_finalize return type to void.

Why are we declaring this function at all?

Wed, Mar 11, 2:41 PM · Restricted Project, Restricted Project, Restricted Project
EricWF accepted D76027: [libc++abi] NFC: Simplify extern C declaration.

Why was this file ever getting built as plain C anyway?
All of the libc++abi source files that use it should be C++.

Wed, Mar 11, 2:41 PM · Restricted Project, Restricted Project
EricWF accepted D76022: [libc++] Add SHA for C++20 Synchronization Library in ABI changelog.
Wed, Mar 11, 1:35 PM · Restricted Project

Mar 9 2020

EricWF abandoned D64298: Make ~mutex and ~condition_variable trivial with Apple pthreads.

Abandoning. We went in another direction.

Mar 9 2020, 11:52 AM
EricWF accepted D51762: First part of the <chrono> calendar stuff.
Mar 9 2020, 8:02 AM

Mar 4 2020

EricWF committed rG50b8088ba2a8: [libc++] Un-xfail GCC test for new version (authored by EricWF).
[libc++] Un-xfail GCC test for new version
Mar 4 2020, 2:39 PM
EricWF accepted D75639: Partially inline basic_string copy constructor in UNSTABLE.

This diff is incorrect, but I see it contains the fix to the previous failures. So it LGTM assuming you apply the correct diff.

Mar 4 2020, 2:37 PM · Restricted Project
EricWF requested changes to D74186: Removing *_equality..

I would rather see a patch that only removes the removed interfaces, and doesn't do all the additional cleanup you've done.

Mar 4 2020, 2:05 PM · Restricted Project
EricWF committed rG73b8d16e8595: [libc++] Mark another test as flaky (authored by EricWF).
[libc++] Mark another test as flaky
Mar 4 2020, 1:00 PM
EricWF committed rG5891e7302f89: [libc++] Move std::string extern template declarations to end of class. (authored by EricWF).
[libc++] Move std::string extern template declarations to end of class.
Mar 4 2020, 11:17 AM

Mar 3 2020

EricWF accepted D73223: Partially inline basic_string copy constructor in UNSTABLE.

LGTM.

Mar 3 2020, 2:24 PM · Restricted Project

Mar 1 2020

EricWF added a comment to D41223: [libc++] Fix PR35491 - std::array of zero-size doesn't work with non-default constructible types..

The lack of _LIBCPP_CONSTEXPR_AFTER_CXX14 on the array<T, 0> specialization's begin(), end(), and other methods seems to be a bug: https://stackoverflow.com/questions/60462569/empty-stdarrayt-0-doesnt-have-constexpr-begin

Mar 1 2020, 2:30 PM · Restricted Project
EricWF added a comment to D67052: Add reference type transformation builtins.

LGTM once all of the inline comments are addressed.

Mar 1 2020, 2:27 PM · Restricted Project, Restricted Project

Feb 28 2020

EricWF committed rGb4b4259a4921: [libc++] update GCC cherry-pick to build 4.8.5 (authored by EricWF).
[libc++] update GCC cherry-pick to build 4.8.5
Feb 28 2020, 10:42 AM

Feb 27 2020

EricWF committed rG0b8585ede40f: [libc++] Update compiler images and more docker cleanup. (authored by EricWF).
[libc++] Update compiler images and more docker cleanup.
Feb 27 2020, 2:29 PM
EricWF committed rGfdba2e4ed12a: [libc++] Update lld version on buildbots to be LLVM-11. (authored by EricWF).
[libc++] Update lld version on buildbots to be LLVM-11.
Feb 27 2020, 1:31 PM
EricWF committed rG1d8fad44d301: [libc++] Rework docker files for buildbots. (authored by EricWF).
[libc++] Rework docker files for buildbots.
Feb 27 2020, 1:05 PM
EricWF committed rGd4ad2adb0046: [libc++] Mark more try_lock tests as possibly flaky. (authored by EricWF).
[libc++] Mark more try_lock tests as possibly flaky.
Feb 27 2020, 10:27 AM
EricWF added a comment to D75243: [libc++] Build the dylib with C++17 to allow aligned new/delete.

I'm find requiring C++17 to build the dylib, but I'm not sure everyone is?

Feb 27 2020, 10:17 AM · Restricted Project
EricWF accepted D75211: Partially inline basic_string::operator=(const basic_string&).

LGTM after addressing @ldionne's comment about other assign methods that might benefit from this.

Feb 27 2020, 10:14 AM · Restricted Project

Feb 26 2020

EricWF added a comment to D75148: [libc++] Try to fix timing-sensitive future test.

Can you try simply marking the test with // FLAKY_TEST.?

Feb 26 2020, 2:29 PM · Restricted Project
EricWF requested changes to D75211: Partially inline basic_string::operator=(const basic_string&).

@mvels Can you look over this diff?

Feb 26 2020, 2:11 PM · Restricted Project
EricWF updated subscribers of D73245: Avoid using std::max_align_t in pre-C++11 mode.

@ldionne Since this has the possibility of breaking existing users of std::max_align_t, can you test this against your c++03 codebases?

Feb 26 2020, 2:11 PM · Restricted Project
EricWF accepted D74489: [libc++] Remove workarounds for the lack of clock_gettime on older macOS platforms.
Feb 26 2020, 2:02 PM · Restricted Project

Feb 24 2020

EricWF added a comment to D75074: [libc++] Proper fix for libc++'s modulemap after D68480.

@EricWF I'm unsure about this change -- I think we might want to keep the requires in the modulemap but also get rid of the #error behavior.

Feb 24 2020, 1:52 PM · Restricted Project
EricWF added inline comments to D73743: Inline basic_string::erase for fastpath where __n == npos.
Feb 24 2020, 12:20 PM · Restricted Project

Feb 23 2020

EricWF accepted D73732: Add _LIBCPP_BUILTIN_CONSTANT_P support..
Feb 23 2020, 5:36 PM · Restricted Project
EricWF added a comment to D73223: Partially inline basic_string copy constructor in UNSTABLE.

This patch should contain the changes to the unstable extern template list.

Feb 23 2020, 5:21 PM · Restricted Project
EricWF added inline comments to D73223: Partially inline basic_string copy constructor in UNSTABLE.
Feb 23 2020, 5:00 PM · Restricted Project
EricWF added a comment to D74870: Split _LIBCPP_STRING_EXTERN_TEMPLATE_LIST up into a V1 and UNSTABLE version..

My personal preference is to not split the lists, my rational is:

  • It encourages unstable to deviate from stable more. I would like us to keep the code and instantiations between the two as similar as possible. The more they differ, the more it is to maintain and the more likely it is that one contains bugs or starts to rot.

I actually think that acknowledging that they are different instantiation lists makes everything clearer and easier to maintain. We don't "pretend" that they are close when they are really two different things. As we embrace changes in the unstable version of the ABI, I don't see why we'd strive to keep it close to the stable ABI. We should simply setup testers for both ABIs, since both seem to be in use.

Feb 23 2020, 4:46 PM · Restricted Project
EricWF added inline comments to D74870: Split _LIBCPP_STRING_EXTERN_TEMPLATE_LIST up into a V1 and UNSTABLE version..
Feb 23 2020, 4:24 PM · Restricted Project
EricWF accepted D73743: Inline basic_string::erase for fastpath where __n == npos.

LGTM.

Feb 23 2020, 4:10 PM · Restricted Project
EricWF accepted D74719: [libc++] Mark the C++03 version of std::function as deprecated.

LGTM.

Feb 23 2020, 3:48 PM · Restricted Project

Feb 19 2020

EricWF added inline comments to D73245: Avoid using std::max_align_t in pre-C++11 mode.
Feb 19 2020, 4:23 PM · Restricted Project
EricWF added a comment to D74871: Fix interaction between -fdiscard-value-names and LLVM Bitcode.

This seems wrong to me. Discarding value names is the default and has been forever in non-assert builds.
Why is this not a bug in w/e is handling the IR?

Feb 19 2020, 4:14 PM · Restricted Project, Restricted Project
EricWF added inline comments to D74870: Split _LIBCPP_STRING_EXTERN_TEMPLATE_LIST up into a V1 and UNSTABLE version..
Feb 19 2020, 2:55 PM · Restricted Project
EricWF added a comment to D74870: Split _LIBCPP_STRING_EXTERN_TEMPLATE_LIST up into a V1 and UNSTABLE version..

My personal preference is to not split the lists, my rational is:

Feb 19 2020, 2:55 PM · Restricted Project
EricWF committed rGa829443cc735: [libc++] Fix ABI break in __bit_reference. (authored by EricWF).
[libc++] Fix ABI break in __bit_reference.
Feb 19 2020, 9:03 AM

Feb 15 2020

EricWF committed rG82b47b297840: [libc++] Move abs and div into stdlib.h to fix header cycle. (authored by EricWF).
[libc++] Move abs and div into stdlib.h to fix header cycle.
Feb 15 2020, 4:10 PM
EricWF committed rG99382e450fb5: [libc++] Add utility to generate and display libc++'s header dependency graph. (authored by EricWF).
[libc++] Add utility to generate and display libc++'s header dependency graph.
Feb 15 2020, 3:52 PM

Feb 14 2020

EricWF committed rGe8358455a2b6: [libc++] Add missing include for is_same in test (authored by EricWF).
[libc++] Add missing include for is_same in test
Feb 14 2020, 10:03 AM
EricWF committed rGcccf1ef0c894: [libc++] Remove cycle between <type_traits> and <cstddef> (authored by EricWF).
[libc++] Remove cycle between <type_traits> and <cstddef>
Feb 14 2020, 8:41 AM
EricWF committed rGe337fb07903e: add type_traits include as required for std::integral_constant (authored by EricWF).
add type_traits include as required for std::integral_constant
Feb 14 2020, 7:46 AM

Feb 12 2020

EricWF added a comment to D74341: [libc++][Apple] Use CLOCK_MONOTONIC_RAW instead of CLOCK_UPTIME_RAW for steady_clock.

Can we assume that all supported Apple platforms have clock_gettime now? (It was added in 10.12)

Feb 12 2020, 7:36 AM · Restricted Project
EricWF accepted D74341: [libc++][Apple] Use CLOCK_MONOTONIC_RAW instead of CLOCK_UPTIME_RAW for steady_clock.

I'm not sure why CLOCK_MONOTONIC_RAW wasn't used originally, but that appears to be the correct approach.

Feb 12 2020, 7:36 AM · Restricted Project
EricWF accepted D74348: [libcxx] Don't assume cwd name in std::filesystem tests.
Feb 12 2020, 4:59 AM · Restricted Project

Feb 10 2020

EricWF added a comment to D67588: Add builtin trait for add/remove cv (and similar).

LGTM other than the inline comments.
I'll take a second pass at this once they're addressed.

Feb 10 2020, 1:39 PM · Restricted Project, Restricted Project

Jan 31 2020

EricWF closed D67667: Add benchmarks for string assign methods.

Committed as 0c5102bd939131b27105b74e73fc25b90207ef36.

Jan 31 2020, 2:44 PM · Restricted Project
EricWF created D73807: [libc++] Optimize std::string's external instantiations in an ABI compatible way.
Jan 31 2020, 2:35 PM

Jan 29 2020

EricWF closed D73514: [libcxx] Add a std::string_view pretty printer for libcxx..

Committed as: b4c911eccc4cccdd8cb536dc003ff9d4eb3bdc70

Jan 29 2020, 10:16 AM · Restricted Project
EricWF committed rGb4c911eccc4c: [libcxx] Add a std::string_view pretty printer for libcxx. (authored by EricWF).
[libcxx] Add a std::string_view pretty printer for libcxx.
Jan 29 2020, 10:08 AM
EricWF accepted D73514: [libcxx] Add a std::string_view pretty printer for libcxx..

LGTM. But I would also like the opinion of Sterling, since they work in this code most often.

Jan 29 2020, 8:53 AM · Restricted Project