Page MenuHomePhabricator

EricWF (Eric Fiselier)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 26 2014, 12:44 PM (251 w, 1 d)

Recent Activity

Wed, Apr 17

EricWF added a comment to D60830: [libc++] Use the no_destroy attribute to avoid destroying debug DB statics.

It may start being reported as a leak by tooling, in the same way static T* t = new T would, which is the other idiomatic way to do this.

Wed, Apr 17, 10:23 AM · Restricted Project
EricWF accepted D60830: [libc++] Use the no_destroy attribute to avoid destroying debug DB statics.
Wed, Apr 17, 10:01 AM · Restricted Project

Tue, Apr 16

EricWF added a comment to D60794: [libcxx][CMake] Add an option to include -lgcc_s in the linker script.

I don't think this is correct.

Tue, Apr 16, 11:05 PM · Restricted Project
EricWF accepted D60724: [libc++] Make __debug_less::operator() constexpr.
Tue, Apr 16, 10:51 PM · Restricted Project
EricWF added inline comments to D60724: [libc++] Make __debug_less::operator() constexpr.
Tue, Apr 16, 10:51 PM · Restricted Project
EricWF committed rGc3d6a929fdd9: Fix visibility for coroutine types on Windows (authored by EricWF).
Fix visibility for coroutine types on Windows
Tue, Apr 16, 9:30 PM
EricWF committed rCXX358551: Fix visibility for coroutine types on Windows.
Fix visibility for coroutine types on Windows
Tue, Apr 16, 9:30 PM
EricWF committed rL358551: Fix visibility for coroutine types on Windows.
Fix visibility for coroutine types on Windows
Tue, Apr 16, 9:29 PM
EricWF accepted D60717: [libc++] Remove old workaround for buildit.

I think this is fine.

Tue, Apr 16, 8:27 AM · Restricted Project, Restricted Project

Mon, Apr 15

EricWF added a comment to D60724: [libc++] Make __debug_less::operator() constexpr.

We should apply this to both versions of __do_compare_assert and to the call operator taking non-const arguments as well.

Mon, Apr 15, 9:44 PM · Restricted Project
EricWF accepted D60424: [libc++] Make sure we re-export some missing libc++abi symbols from libc++.
Mon, Apr 15, 7:18 AM · Restricted Project, Restricted Project
EricWF added a comment to D60424: [libc++] Make sure we re-export some missing libc++abi symbols from libc++.

Sorry I didn't get to this sooner.

Mon, Apr 15, 7:18 AM · Restricted Project, Restricted Project

Sun, Apr 14

EricWF requested changes to D60666: Fix some constexpr members in array<T, 0>.

This doesn't work for a number of reasons. First, the destructor is only trivial when all the union members are. second, you can't put constexpr on functions that never produce a valid constant expression

Sun, Apr 14, 9:48 AM

Sat, Apr 13

EricWF accepted D60416: [libc++] Make sure that the symbol differ takes into account symbol types.

LGTM. This fix is correct given the current state of things.

Sat, Apr 13, 4:02 PM · Restricted Project, Restricted Project
EricWF accepted D60592: [libc++] Fix build failure with _LIBCPP_DEBUG=0 when iterators return values instead of references.
Sat, Apr 13, 10:26 AM · Restricted Project

Thu, Apr 11

EricWF added a comment to D60592: [libc++] Fix build failure with _LIBCPP_DEBUG=0 when iterators return values instead of references.

Hmm. I thought I had fixed this using perfect forwarding, but I guess not. My bad.

Thu, Apr 11, 10:24 PM · Restricted Project
EricWF committed rGaa1cad1591bf: Cleanup how debug comparators are created in <algorithm> (authored by EricWF).
Cleanup how debug comparators are created in <algorithm>
Thu, Apr 11, 10:18 PM
EricWF committed rCXX358252: Cleanup how debug comparators are created in <algorithm>.
Cleanup how debug comparators are created in <algorithm>
Thu, Apr 11, 10:18 PM
EricWF committed rL358252: Cleanup how debug comparators are created in <algorithm>.
Cleanup how debug comparators are created in <algorithm>
Thu, Apr 11, 10:16 PM
EricWF committed rGf32463848b6f: Fix PR41465 - Use __builtin_mul_overflow instead of hand-rolled check. (authored by EricWF).
Fix PR41465 - Use __builtin_mul_overflow instead of hand-rolled check.
Thu, Apr 11, 10:16 AM
EricWF committed rL358195: Fix PR41465 - Use __builtin_mul_overflow instead of hand-rolled check..
Fix PR41465 - Use __builtin_mul_overflow instead of hand-rolled check.
Thu, Apr 11, 10:16 AM
EricWF committed rCXXA358195: Fix PR41465 - Use __builtin_mul_overflow instead of hand-rolled check..
Fix PR41465 - Use __builtin_mul_overflow instead of hand-rolled check.
Thu, Apr 11, 10:16 AM
EricWF accepted D60540: [libc++] Make sure we don't eagerly diagnose non-const comparators for containers of incomplete types.

It took me a couple of passes to spot it.

Thu, Apr 11, 9:11 AM · Restricted Project, Restricted Project

Wed, Apr 10

EricWF added a comment to D60416: [libc++] Make sure that the symbol differ takes into account symbol types.

So _symbol_difference is used to check for added or removed symbols. changed_symbols is the bit of logic that detects if the properties of the symbol changed.

What's the issue this is trying to address?

The problem this is trying to address is that we don't take into account the addition of an indirect symbol (a re-export). Try this:

cat <<EOF > old.sym
{'is_defined': False, 'name': '___cxa_throw_bad_array_new_length', 'type': 'U'}
EOF

cat <<EOF > new.sym
{'is_defined': True, 'name': '___cxa_throw_bad_array_new_length', 'type': 'I'}
{'is_defined': False, 'name': '___cxa_throw_bad_array_new_length', 'type': 'U'}
EOF

./libcxx/utils/sym_diff.py old.sym new.sym

You'll see that despite the fact that we added an indirect symbol, we consider both symbol lists to be the same. This was discovered while working on https://reviews.llvm.org/D60424, which adds such re-exports.

Looking at it again, it looks like the "problem" is that we don't support duplicate symbol names in the list. For example, we use a set in _symbol_differences.

Wed, Apr 10, 11:47 PM · Restricted Project, Restricted Project
EricWF added inline comments to D60540: [libc++] Make sure we don't eagerly diagnose non-const comparators for containers of incomplete types.
Wed, Apr 10, 10:25 PM · Restricted Project, Restricted Project
EricWF added inline comments to D60393: Force is_invocable template parameters to be complete types.
Wed, Apr 10, 10:04 PM
EricWF added a comment to D60540: [libc++] Make sure we don't eagerly diagnose non-const comparators for containers of incomplete types.

The fix LGTM. I'll try to figure out what's going on with the tests

Wed, Apr 10, 4:39 PM · Restricted Project, Restricted Project
EricWF added a comment to D60416: [libc++] Make sure that the symbol differ takes into account symbol types.

So _symbol_difference is used to check for added or removed symbols. changed_symbols is the bit of logic that detects if the properties of the symbol changed.

Wed, Apr 10, 11:08 AM · Restricted Project, Restricted Project
EricWF accepted D60520: [libc++abi] Create a macro for the 32 bit guard setting.
Wed, Apr 10, 10:03 AM · Restricted Project, Restricted Project
EricWF added a comment to D60480: [WIP] integration of pstl into libc++.

I take back my comments about libc++ style. I didn't understand what was going on here. my apologies.

Wed, Apr 10, 10:02 AM · Restricted Project
EricWF added inline comments to D60368: Add bind_front function (P0356R5).
Wed, Apr 10, 9:41 AM
EricWF added a comment to D60520: [libc++abi] Create a macro for the 32 bit guard setting.

Theres more to the ARM config. The macro should reflect were implementing the ARM C++ ABI and not the plain itanium one.

Wed, Apr 10, 9:41 AM · Restricted Project, Restricted Project

Tue, Apr 9

EricWF added a comment to D60480: [WIP] integration of pstl into libc++.

Not sure what is up with phabricator, but it won't let me respond inline to EricWF, specifically -

__FIRST_MOVER_ADVANTAGE

libc++ and libstdc++ have different 'uglification' protocols. As I said to mclow early on in this process, If I'm the one that has to do the grunt work of *all* of the uglification (very much has been case, BTW), it's going to follow libstdc++ convention as much as is possible.

Tue, Apr 9, 10:37 PM · Restricted Project
EricWF added a comment to D60480: [WIP] integration of pstl into libc++.

Not sure what is up with phabricator, but it won't let me respond inline to EricWF, specifically -

__FIRST_MOVER_ADVANTAGE

libc++ and libstdc++ have different 'uglification' protocols. As I said to mclow early on in this process, If I'm the one that has to do the grunt work of *all* of the uglification (very much has been case, BTW), it's going to follow libstdc++ convention as much as is possible.

Tue, Apr 9, 10:36 PM · Restricted Project
EricWF added a comment to D60393: Force is_invocable template parameters to be complete types.

Your right, PR41360 is only a wording issue. I also agree __flexible_invokable is bad, but I don't see another way to check invokability while allowing incomplete types (which I think is necessary for containers).

Tue, Apr 9, 10:34 PM
EricWF added a comment to D60480: [WIP] integration of pstl into libc++.

There's a circular dependency between libc++ and libc++abi, which causes normal CMake dependencies not to work for PSTL. Specifically, libc++abi will complain about not having access to pstl/internal/XXX when building.

Tue, Apr 9, 10:10 PM · Restricted Project
EricWF added inline comments to D60480: [WIP] integration of pstl into libc++.
Tue, Apr 9, 10:09 PM · Restricted Project
EricWF added a comment to D60480: [WIP] integration of pstl into libc++.

How does this include pattern work with modules? It's important the libc++ headers maintain their modularity.

Tue, Apr 9, 10:07 PM · Restricted Project
EricWF requested changes to D60491: Fix fpos requirements & cleanup .

I don't really understand how a lot of the changes in this patch implement the changes in the paper. Can you explain the rationale for each change?

Tue, Apr 9, 10:04 PM
EricWF requested changes to D60368: Add bind_front function (P0356R5).

I don't believe this patch implements the perfect forwarding call wrapper requirements laid out in the paper. Take a look at the not_fn implementation as an example of this (perhaps even generalize it's implementation to be used here as well).

Tue, Apr 9, 9:49 PM
EricWF requested changes to D60393: Force is_invocable template parameters to be complete types.

This patch isn't correct. The is_flexable_invocable trait is an ODR violation. And I don't think the bug this is solution to PR41360.

Tue, Apr 9, 9:39 PM
EricWF added a comment to D60422: Remove default parameters (P0935R0).

Every line of this change should be covered by a test

Tue, Apr 9, 7:08 PM

Mon, Apr 8

EricWF committed rGaa10ca12686e: Revert "Make reads and writes of the guard variable atomic." (authored by EricWF).
Revert "Make reads and writes of the guard variable atomic."
Mon, Apr 8, 4:37 PM
EricWF committed rCXXA357958: Revert "Make reads and writes of the guard variable atomic.".
Revert "Make reads and writes of the guard variable atomic."
Mon, Apr 8, 4:36 PM
EricWF committed rL357958: Revert "Make reads and writes of the guard variable atomic.".
Revert "Make reads and writes of the guard variable atomic."
Mon, Apr 8, 4:36 PM
EricWF committed rGbeefef6b4e3e: Fix incorrect change during refactoring. (authored by EricWF).
Fix incorrect change during refactoring.
Mon, Apr 8, 4:19 PM
EricWF committed rCXXA357956: Fix incorrect change during refactoring..
Fix incorrect change during refactoring.
Mon, Apr 8, 4:19 PM
EricWF committed rL357956: Fix incorrect change during refactoring..
Fix incorrect change during refactoring.
Mon, Apr 8, 4:19 PM
EricWF committed rGb32c847303a8: Remove unneeded write in __cxa_guard_release. (authored by EricWF).
Remove unneeded write in __cxa_guard_release.
Mon, Apr 8, 3:07 PM
EricWF committed rL357949: Remove unneeded write in __cxa_guard_release..
Remove unneeded write in __cxa_guard_release.
Mon, Apr 8, 3:07 PM
EricWF committed rCXXA357949: Remove unneeded write in __cxa_guard_release..
Remove unneeded write in __cxa_guard_release.
Mon, Apr 8, 3:07 PM
EricWF committed rCXXA357944: Make reads and writes of the guard variable atomic..
Make reads and writes of the guard variable atomic.
Mon, Apr 8, 2:39 PM
EricWF committed rG62c2b5ac680d: Make reads and writes of the guard variable atomic. (authored by EricWF).
Make reads and writes of the guard variable atomic.
Mon, Apr 8, 2:25 PM
EricWF committed rL357944: Make reads and writes of the guard variable atomic..
Make reads and writes of the guard variable atomic.
Mon, Apr 8, 2:25 PM

Sun, Apr 7

EricWF added inline comments to D60027: Add shift functions (P0769).
Sun, Apr 7, 5:34 PM

Fri, Apr 5

EricWF committed rGc4225e124f9e: Fix PR41395 - __cxa_vec_new may overflow in allocation size calculation. (authored by EricWF).
Fix PR41395 - __cxa_vec_new may overflow in allocation size calculation.
Fri, Apr 5, 1:38 PM
EricWF committed rCXXA357814: Fix PR41395 - __cxa_vec_new may overflow in allocation size calculation..
Fix PR41395 - __cxa_vec_new may overflow in allocation size calculation.
Fri, Apr 5, 1:37 PM
EricWF committed rL357814: Fix PR41395 - __cxa_vec_new may overflow in allocation size calculation..
Fix PR41395 - __cxa_vec_new may overflow in allocation size calculation.
Fri, Apr 5, 1:37 PM
EricWF committed rCXXA357804: Further refactor cxa_guard.cpp.
Further refactor cxa_guard.cpp
Fri, Apr 5, 1:00 PM
EricWF committed rGd2225d067a8c: Further refactor cxa_guard.cpp (authored by EricWF).
Further refactor cxa_guard.cpp
Fri, Apr 5, 12:58 PM
EricWF committed rL357804: Further refactor cxa_guard.cpp.
Further refactor cxa_guard.cpp
Fri, Apr 5, 12:57 PM
EricWF abandoned D60053: Refactor cxa_guard.cpp.

I landed these changes as a series of smaller cleanups.

Fri, Apr 5, 12:57 PM

Thu, Apr 4

EricWF committed rG9d75d88d3071: Handle TLS values in sym_check (authored by EricWF).
Handle TLS values in sym_check
Thu, Apr 4, 8:37 AM
EricWF committed rL357705: Handle TLS values in sym_check.
Handle TLS values in sym_check
Thu, Apr 4, 8:36 AM
EricWF committed rCXX357705: Handle TLS values in sym_check.
Handle TLS values in sym_check
Thu, Apr 4, 8:36 AM

Wed, Apr 3

EricWF committed rGf5de7ad211dd: Create RAII lock guard for global initialization lock. (authored by EricWF).
Create RAII lock guard for global initialization lock.
Wed, Apr 3, 7:55 PM
EricWF committed rCXXA357669: Create RAII lock guard for global initialization lock..
Create RAII lock guard for global initialization lock.
Wed, Apr 3, 7:55 PM
EricWF committed rL357669: Create RAII lock guard for global initialization lock..
Create RAII lock guard for global initialization lock.
Wed, Apr 3, 7:55 PM
EricWF committed rG690c70de7620: Always use is_initialized and set_initialized in cxa_guard.cpp (authored by EricWF).
Always use is_initialized and set_initialized in cxa_guard.cpp
Wed, Apr 3, 7:40 PM
EricWF committed rCXXA357668: Always use is_initialized and set_initialized in cxa_guard.cpp.
Always use is_initialized and set_initialized in cxa_guard.cpp
Wed, Apr 3, 7:40 PM
EricWF committed rL357668: Always use is_initialized and set_initialized in cxa_guard.cpp.
Always use is_initialized and set_initialized in cxa_guard.cpp
Wed, Apr 3, 7:39 PM
EricWF committed rG4d50879d9c93: Cleanup test failures in no discard tests. (authored by EricWF).
Cleanup test failures in no discard tests.
Wed, Apr 3, 2:16 PM
EricWF committed rCXX357637: Cleanup test failures in no discard tests..
Cleanup test failures in no discard tests.
Wed, Apr 3, 2:16 PM
EricWF committed rL357637: Cleanup test failures in no discard tests..
Cleanup test failures in no discard tests.
Wed, Apr 3, 2:16 PM
EricWF updated the diff for D60097: Fix implementation of ::abs and std::abs LWG 2192..
  • Revert use of builtins.
  • Fix configuration error.
Wed, Apr 3, 1:54 PM
EricWF added a comment to D60097: Fix implementation of ::abs and std::abs LWG 2192..

Suggestions for a cleaner implementation are welcome.

Why don't we move abs to a third header, say __abs.h, and then include that from both math.h and stdlib.h?

Wed, Apr 3, 1:53 PM
EricWF committed rG8f34658b872e: Attempt to upgrade compiler used by appveyor builds (authored by EricWF).
Attempt to upgrade compiler used by appveyor builds
Wed, Apr 3, 1:41 PM
EricWF committed rCXX357632: Attempt to upgrade compiler used by appveyor builds.
Attempt to upgrade compiler used by appveyor builds
Wed, Apr 3, 1:38 PM
EricWF committed rL357632: Attempt to upgrade compiler used by appveyor builds.
Attempt to upgrade compiler used by appveyor builds
Wed, Apr 3, 1:38 PM
EricWF committed rG191da93447d2: disable appveyor config for MSVC 2015 (authored by EricWF).
disable appveyor config for MSVC 2015
Wed, Apr 3, 1:36 PM
EricWF committed rCXX357631: disable appveyor config for MSVC 2015.
disable appveyor config for MSVC 2015
Wed, Apr 3, 1:35 PM
EricWF committed rL357631: disable appveyor config for MSVC 2015.
disable appveyor config for MSVC 2015
Wed, Apr 3, 1:35 PM
EricWF abandoned D60105: Fix vector<bool>::const_reference to be 'bool'..

I've come around to Howards position that this is a beneficial extension, and so I'm abandoning this change.

Wed, Apr 3, 11:48 AM
EricWF accepted D60145: libcxx: Add _LIBCPP_NODISCARD_EXT to 37 more functions.

When LIT says "N warnings in tests" It's not talking about warnings compiling code; it's refering to warnings while configuring the test suite.

Wed, Apr 3, 10:45 AM

Tue, Apr 2

EricWF accepted D59781: Add more benchmarks for literal strings..

In future, you don't need review before adding or improving tests.

Tue, Apr 2, 11:43 AM · Restricted Project
EricWF committed rG0657197588ff: Fix a number of bugs in __val_expr's subset operator[]. (authored by EricWF).
Fix a number of bugs in __val_expr's subset operator[].
Tue, Apr 2, 1:05 AM
EricWF committed rCXX357453: Fix a number of bugs in __val_expr's subset operator[]..
Fix a number of bugs in __val_expr's subset operator[].
Tue, Apr 2, 1:05 AM
EricWF committed rL357453: Fix a number of bugs in __val_expr's subset operator[]..
Fix a number of bugs in __val_expr's subset operator[].
Tue, Apr 2, 1:05 AM

Mon, Apr 1

EricWF updated the diff for D60097: Fix implementation of ::abs and std::abs LWG 2192..

Address review comments.

Mon, Apr 1, 9:17 PM
EricWF added inline comments to D60097: Fix implementation of ::abs and std::abs LWG 2192..
Mon, Apr 1, 9:17 PM
EricWF added inline comments to D60105: Fix vector<bool>::const_reference to be 'bool'..
Mon, Apr 1, 4:57 PM
EricWF updated the diff for D60105: Fix vector<bool>::const_reference to be 'bool'..
  • Convert the tests to ASSERT_SAME_TYPE
Mon, Apr 1, 4:57 PM
EricWF created D60105: Fix vector<bool>::const_reference to be 'bool'..
Mon, Apr 1, 4:41 PM
EricWF created D60097: Fix implementation of ::abs and std::abs LWG 2192..
Mon, Apr 1, 1:49 PM
EricWF updated the diff for D60053: Refactor cxa_guard.cpp.
  • Misc cleanup.
Mon, Apr 1, 1:04 AM
EricWF updated the diff for D60053: Refactor cxa_guard.cpp.
  • Fix layout incongruity for non-apple platforms.
  • Various cleanups.
Mon, Apr 1, 12:48 AM
EricWF added a reviewer for D60053: Refactor cxa_guard.cpp: sbenza.
Mon, Apr 1, 12:20 AM

Sun, Mar 31

EricWF created D60053: Refactor cxa_guard.cpp.
Sun, Mar 31, 5:48 PM
EricWF committed rGb0e79823d699: Make common_type's implementation common (authored by EricWF).
Make common_type's implementation common
Sun, Mar 31, 1:48 PM
EricWF committed rCXX357370: Make common_type's implementation common .
Make common_type's implementation common
Sun, Mar 31, 1:47 PM