EricWF (Eric Fiselier)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Yesterday

EricWF accepted D35235: [libc++] Replace __sync_* functions with __libcpp_atomic_* functions.
Tue, Sep 19, 2:54 PM

Mon, Sep 18

EricWF committed rL313576: Fix failing ASAN test.
Fix failing ASAN test
Mon, Sep 18, 3:02 PM
EricWF added a comment to D37997: [libcxx / lit] Make libcxx work correctly with the new testing workflow.

LGTM.

Mon, Sep 18, 2:22 PM

Sun, Sep 17

EricWF committed rL313502: Fix two failing -verify tests to tolerate old and new clang versions.
Fix two failing -verify tests to tolerate old and new clang versions
Sun, Sep 17, 2:52 PM
EricWF closed D37830: [libcxx] ABI: Fix for undefined "___cxa_deleted_virtual" symbol in MacOSX.

Committed as r313500.

Sun, Sep 17, 2:02 PM
EricWF committed rL313501: Update changelog revision.
Update changelog revision
Sun, Sep 17, 2:02 PM
EricWF committed rL313500: ABI: Fix for undefined "___cxa_deleted_virtual" symbol in MacOSX.
ABI: Fix for undefined "___cxa_deleted_virtual" symbol in MacOSX
Sun, Sep 17, 2:01 PM
EricWF committed rL313499: Fix failing -verify tests due to change in Clangs static_assert message..
Fix failing -verify tests due to change in Clangs static_assert message.
Sun, Sep 17, 1:58 PM

Fri, Sep 15

EricWF added a comment to D36870: [libcxx] Add missing __cxa_deleted_virtual.

...but I'm still curious as to why lib/abi/x86_64-unknown-linux-gnu.abilist should want to mention __cxa_pure_virtual but not __cxa_deleted_virtual

Fri, Sep 15, 12:48 AM

Thu, Sep 14

EricWF updated the diff for D37035: Implement __builtin_LINE() et. al. to support source location capture..
  • Improve test.
Thu, Sep 14, 7:47 PM
EricWF accepted D37830: [libcxx] ABI: Fix for undefined "___cxa_deleted_virtual" symbol in MacOSX.

LGTM minus inline comments.

Thu, Sep 14, 7:45 PM
EricWF updated the diff for D37035: Implement __builtin_LINE() et. al. to support source location capture..
  • Cleanup and address the inline comments I added earlier.
Thu, Sep 14, 7:20 PM
EricWF added a comment to D37538: [libc++] Remove problematic ADL in container implementations..

@dlj I went ahead and committed the fixes to std::allocator_traits in r313324, because I think we agree those are bugs, and I didn't want this discussion to hold up that fix. I hope you don't mind.

Thu, Sep 14, 5:36 PM
EricWF committed rL313324: Fix accidental ADL in std::allocator_traits meta-programming..
Fix accidental ADL in std::allocator_traits meta-programming.
Thu, Sep 14, 5:33 PM
EricWF added inline comments to D37538: [libc++] Remove problematic ADL in container implementations..
Thu, Sep 14, 5:02 PM
EricWF committed rL313308: Fix ASAN build with older compiler-rt versions..
Fix ASAN build with older compiler-rt versions.
Thu, Sep 14, 3:39 PM
EricWF committed rL313306: [ASAN] Revert r313303 - Add macro denoting availability of new….
[ASAN] Revert r313303 - Add macro denoting availability of new…
Thu, Sep 14, 3:33 PM
EricWF added a comment to D37871: [ASAN] Add macro denoting availability of new `__asan_handle_no_return()` function..

This function was added to the header recently, but it has been provided by ASan runtime library since the beginning. Why not simply declare it in libc++abi?

Thu, Sep 14, 3:26 PM
EricWF committed rL313304: [libc++abi] Fix ASAN build with older compiler-rt versions..
[libc++abi] Fix ASAN build with older compiler-rt versions.
Thu, Sep 14, 3:21 PM
EricWF closed D37872: [libc++abi] Fix ASAN build with older compiler-rt versions..
Thu, Sep 14, 3:20 PM
EricWF committed rL313303: [ASAN] Add macro denoting availability of new `__asan_handle_no_return()`….
[ASAN] Add macro denoting availability of new `__asan_handle_no_return()`…
Thu, Sep 14, 3:20 PM
EricWF closed D37871: [ASAN] Add macro denoting availability of new `__asan_handle_no_return()` function..
Thu, Sep 14, 3:20 PM
EricWF updated the summary of D37871: [ASAN] Add macro denoting availability of new `__asan_handle_no_return()` function..
Thu, Sep 14, 3:15 PM
EricWF created D37872: [libc++abi] Fix ASAN build with older compiler-rt versions..
Thu, Sep 14, 3:10 PM
EricWF created D37871: [ASAN] Add macro denoting availability of new `__asan_handle_no_return()` function..
Thu, Sep 14, 3:05 PM
EricWF accepted D28212: typeinfo: provide a partial implementation for Win32.

Woops. didn't mean to reject.

Thu, Sep 14, 2:23 PM
EricWF requested changes to D28212: typeinfo: provide a partial implementation for Win32.
  • List Item
Thu, Sep 14, 2:23 PM
EricWF added inline comments to D37035: Implement __builtin_LINE() et. al. to support source location capture..
Thu, Sep 14, 3:10 AM

Wed, Sep 13

EricWF updated the diff for D37035: Implement __builtin_LINE() et. al. to support source location capture..
  • Remove accidentally committed test files.
  • Attempt to remove incidental whitespace changes.
Wed, Sep 13, 9:07 PM
EricWF added a comment to D37631: [libFuzzer] Support using libc++.
In D37631#865602, @kcc wrote:

So, how about linking a full private version of libc++?
Is that even possible?

I think it's possible but it won't be pretty. It's also complicated by the fact that libFuzzer is built as static library. What we would have to do is to build custom libc++ using a custom namespace, then build libFuzzer against that library, and finally combine the two static libraries together similarly to what libc++ is doing when merging libc++abi (https://github.com/llvm-mirror/libcxx/blob/master/lib/CMakeLists.txt#L268). I can give it a try if you're fine with that solution.

Wed, Sep 13, 8:56 PM
EricWF added inline comments to D37035: Implement __builtin_LINE() et. al. to support source location capture..
Wed, Sep 13, 8:51 PM
EricWF added inline comments to D37035: Implement __builtin_LINE() et. al. to support source location capture..
Wed, Sep 13, 8:40 PM
EricWF updated the diff for D37035: Implement __builtin_LINE() et. al. to support source location capture..
  • Reimplement without rewriting the AST and instead during the substitution during constant expression evaluation and code gen.
Wed, Sep 13, 8:35 PM
EricWF added a comment to D37830: [libcxx] ABI: Fix for undefined "___cxa_deleted_virtual" symbol in MacOSX.

Could you please add an entry into lib/abi/CHANGELOG.TXT, as well as a test that demonstrates the initial bug. I would put it under test/libcxx/language.support/cxa_deleted_virtual.pass.cpp.

Wed, Sep 13, 3:21 PM

Tue, Sep 12

EricWF requested changes to D36447: private_typeinfo: limit is_dst_type_derived_from_static_type optimization.

Could you please include the tests for this change in this review?

Tue, Sep 12, 6:58 PM
EricWF requested changes to D36446: private_typeinfo: propagate static flags in vmi search_above_dst method.

Could you please include the tests for this change in this review?

Tue, Sep 12, 6:57 PM
EricWF requested changes to D36449: Add dynamic_cast regression tests from PR33425, PR33439, and PR33487.

Can these tests be checked in with their respective fixes, so both the test and the fix can be committed atomically?

Tue, Sep 12, 6:56 PM
EricWF added inline comments to D37538: [libc++] Remove problematic ADL in container implementations..
Tue, Sep 12, 6:53 PM
EricWF created D37784: Alternative to D35863 - Use the allocator's pointers for deallocation in `std::list`.
Tue, Sep 12, 6:25 PM
EricWF accepted D36719: [libc++] Add site config option for ABI macros.

There should probably be some documentation for this, but I couldn't think of the right place; the Using libc++ documentation only mentions the actual configuration macros, not their corresponding cmake defines. Any suggestions?

Tue, Sep 12, 5:44 PM
EricWF added inline comments to D37538: [libc++] Remove problematic ADL in container implementations..
Tue, Sep 12, 5:22 PM
EricWF requested changes to D37677: [libc++] implement future synchronization using atomic_flag.

I agree with the general consensus that we should only make this change if it's significantly faster, and only after we have a test that demonstrates this.

Tue, Sep 12, 3:50 PM
EricWF accepted D37134: [libc++] Use CMAKE_AR for merging static libraries.

LGTM, minus inline comments.

Tue, Sep 12, 3:28 PM
EricWF accepted D37728: libcxx: fix merge_archives error variable name.
Tue, Sep 12, 3:24 PM
EricWF accepted D36720: [libc++] Prevent stale site configuration headers.
Tue, Sep 12, 3:24 PM
EricWF accepted D37133: [libc++] Handle object files named *.obj in merge_archives.py.
Tue, Sep 12, 1:48 PM
EricWF requested changes to D37134: [libc++] Use CMAKE_AR for merging static libraries.

Ironically I think parts of this change should be moved into merge_archives.py.

Tue, Sep 12, 1:30 PM
EricWF added inline comments to D37133: [libc++] Handle object files named *.obj in merge_archives.py.
Tue, Sep 12, 1:22 PM
EricWF added a comment to D37133: [libc++] Handle object files named *.obj in merge_archives.py.

I think we should avoid this logic entirely and use CMake to do this.

Tue, Sep 12, 1:17 PM

Sun, Sep 10

EricWF committed rL312892: Fix PR34298 - Allow std::function with an incomplete return type..
Fix PR34298 - Allow std::function with an incomplete return type.
Sun, Sep 10, 4:45 PM
EricWF requested changes to D36870: [libcxx] Add missing __cxa_deleted_virtual.
Sun, Sep 10, 4:45 PM
EricWF committed rL312891: Revert "Fix PR34298 - Allow std::function with an incomplete return type.".
Revert "Fix PR34298 - Allow std::function with an incomplete return type."
Sun, Sep 10, 4:39 PM
EricWF abandoned D37104: [libc++] PR34298: Change std::function constructor and move assignment operator SFINAE checks to allow std::function with an incomplete return type .
Sun, Sep 10, 4:17 PM
EricWF commandeered D37104: [libc++] PR34298: Change std::function constructor and move assignment operator SFINAE checks to allow std::function with an incomplete return type .

I committed a different version of this fix in r312890.

Sun, Sep 10, 4:17 PM
EricWF committed rL312890: Fix PR34298 - Allow std::function with an incomplete return type..
Fix PR34298 - Allow std::function with an incomplete return type.
Sun, Sep 10, 4:13 PM

Sun, Aug 27

EricWF added a comment to D37104: [libc++] PR34298: Change std::function constructor and move assignment operator SFINAE checks to allow std::function with an incomplete return type .

@arphaman Do you mind if I commit my own version of this?

Sun, Aug 27, 2:16 PM

Thu, Aug 24

EricWF committed rL311735: Update ABI lists for 5.0.
Update ABI lists for 5.0
Thu, Aug 24, 5:20 PM

Tue, Aug 22

EricWF added a comment to D37035: Implement __builtin_LINE() et. al. to support source location capture..

I don't like the model of conditionally rebuilding the default initializer / default argument if it contains one of these builtins; it seems more heavy-handed than necessary. I'm also not convinced that we need to store the computed value in the AST.

As an alternative, CodeGen and the expression evaluator can track a current call context (the innermost call expression or list initialization that is not within a default argument / default member initializer) consisting of the enclosing FunctionDecl and SourceLocation, and when the value of one of these builtins is needed, pass that context to the AST node to ask what value it has in that context. This will require a bit more work for the static analyzer, but should be fairly simple elsewhere and will avoid the extra AST nodes for the desugared form.

Tue, Aug 22, 5:54 PM
EricWF updated the diff for D37035: Implement __builtin_LINE() et. al. to support source location capture..
  • Address inline comments.
  • Fix calls to class call operators.
Tue, Aug 22, 5:31 PM
EricWF created D37035: Implement __builtin_LINE() et. al. to support source location capture..
Tue, Aug 22, 4:13 PM
EricWF abandoned D37029: Temp __builtin_LINE.
Tue, Aug 22, 3:11 PM
EricWF created D37029: Temp __builtin_LINE.
Tue, Aug 22, 3:04 PM

Aug 8 2017

EricWF updated the diff for D36389: Add source location builtins.
Aug 8 2017, 1:10 AM

Aug 7 2017

EricWF created D36389: Add source location builtins.
Aug 7 2017, 2:22 AM

Aug 2 2017

EricWF committed rL309920: Fix libcxx build with glibc 2.26+ by removing xlocale.h include..
Fix libcxx build with glibc 2.26+ by removing xlocale.h include.
Aug 2 2017, 9:30 PM
EricWF closed D35697: Fix libcxx build with glibc 2.26+.

r309920.

Aug 2 2017, 9:30 PM
EricWF added a comment to D35697: Fix libcxx build with glibc 2.26+.

@raj.khem Do you need somebody to commit this for you?

Aug 2 2017, 7:59 PM
EricWF committed rL309917: Add system header pragma to BSD locale fallback headers..
Add system header pragma to BSD locale fallback headers.
Aug 2 2017, 7:51 PM
EricWF requested changes to D35863: Use the allocator's pointers for deallocation in `std::list`.

First, this patch would need tests before continuing, Could you please them? The list tests live under test/std/containers/sequences/list. Let me know if you have any questions or need any help writing tests.

Aug 2 2017, 4:39 PM
EricWF requested changes to D35388: [libc++] Give extern templates default visibility on gcc.

Hmm. So the documentation is wrong, but not "fully wrong". If you simply try applying this patch and compiling with GCC you'll still encounter a bunch of instances of warning: type attributes ignored after type is already defined [-Wattributes].

Aug 2 2017, 3:50 PM

Jul 31 2017

EricWF accepted D35697: Fix libcxx build with glibc 2.26+.

LGTM then.

Jul 31 2017, 2:53 AM
EricWF committed rL309545: [coroutines] Evaluate the operand of void `co_return` expressions..
[coroutines] Evaluate the operand of void `co_return` expressions.
Jul 31 2017, 12:49 AM
EricWF closed D36070: [coroutines] Evaluate the operand of void `co_return` expressions..
Jul 31 2017, 12:48 AM
EricWF added inline comments to D36070: [coroutines] Evaluate the operand of void `co_return` expressions..
Jul 31 2017, 12:46 AM

Jul 30 2017

EricWF requested changes to D18174: Fix libcxx build on musl.

This patch is not OK, since it affects way more that just MUSL libc.

Jul 30 2017, 7:59 PM
EricWF created D36070: [coroutines] Evaluate the operand of void `co_return` expressions..
Jul 30 2017, 7:40 PM
EricWF added a comment to D35297: [Sema] Fix operator lookup to consider local extern declarations..

@rsmith Should this be considered for the 5.0 release?

Jul 30 2017, 5:27 PM
EricWF committed rL309530: [Sema] Fix operator lookup to consider local extern declarations..
[Sema] Fix operator lookup to consider local extern declarations.
Jul 30 2017, 5:27 PM
EricWF closed D35297: [Sema] Fix operator lookup to consider local extern declarations..
Jul 30 2017, 5:27 PM
EricWF updated the diff for D35297: [Sema] Fix operator lookup to consider local extern declarations..
  • Address issues in inline comments. The patch should be ready to go now :-)
Jul 30 2017, 4:20 PM
EricWF committed rL309528: Mark LWG 2942 as complete.
Mark LWG 2942 as complete
Jul 30 2017, 3:29 PM
EricWF added a comment to D35297: [Sema] Fix operator lookup to consider local extern declarations..

@rsmith Ping. This should be super simple to review.

Jul 30 2017, 3:18 PM
EricWF committed rL309527: Mark LWG 2961 as complete.
Mark LWG 2961 as complete
Jul 30 2017, 3:17 PM
EricWF added a comment to D35697: Fix libcxx build with glibc 2.26+.

@raj.khem Hmm. Are you sure we don't need the xlocale.h include on systems with an older glibc?

Jul 30 2017, 2:54 PM

Jul 18 2017

EricWF added a comment to D35038: [libunwind] Add a test harness.

Checking out libcxx should not be a requirement since libunwind should be usable independently on libcxx.

Jul 18 2017, 3:44 PM

Jul 12 2017

EricWF created D35344: [coroutines] Rough `co_promise` implementation..
Jul 12 2017, 8:40 PM
EricWF added a comment to D35159: [libcxxabi][demangler] Use an AST to represent the demangled name.

+1 for moving this file to LLVM's internal style.

Jul 12 2017, 2:47 PM
EricWF updated the diff for D35297: [Sema] Fix operator lookup to consider local extern declarations..
Jul 12 2017, 3:37 AM
EricWF updated the diff for D35297: [Sema] Fix operator lookup to consider local extern declarations..

Add more appropriate test.

Jul 12 2017, 3:30 AM
EricWF created D35297: [Sema] Fix operator lookup to consider local extern declarations..
Jul 12 2017, 2:54 AM

Jul 11 2017

EricWF updated the diff for D34225: [clang-format] Teach clang-format how to handle C++ coroutines.
  • Address most review comments except those about spaceBreakBetween and spaceBreakBefore.
Jul 11 2017, 7:05 PM
EricWF added a comment to D34225: [clang-format] Teach clang-format how to handle C++ coroutines.

@alexfh Thanks for correcting the reviewers. I had no idea who to add so I used something like git-suggest-reviewers.

Jul 11 2017, 7:04 PM
EricWF committed rL307749: Remove <__refstring> header; Move it into source directory..
Remove <__refstring> header; Move it into source directory.
Jul 11 2017, 6:39 PM
EricWF committed rL307748: Remove dependancy on __refstring header; use local copy instead..
Remove dependancy on __refstring header; use local copy instead.
Jul 11 2017, 6:34 PM
EricWF committed rL307746: Revert "[libc++] Refactoring __sync_* builtins; NFC (Reland)".
Revert "[libc++] Refactoring __sync_* builtins; NFC (Reland)"
Jul 11 2017, 6:17 PM
EricWF reopened D34918: [libc++] Refactoring __sync_* builtins; NFC.

And they lack reserved names. Sorry for the repeated comment spam.

Jul 11 2017, 6:15 PM
EricWF added a comment to D34918: [libc++] Refactoring __sync_* builtins; NFC.

The return types for the new __libcpp_sync builtins are incorrect as well.

Jul 11 2017, 6:13 PM
EricWF added a comment to D34918: [libc++] Refactoring __sync_* builtins; NFC.

I'm not OK with adding a new header here. The problem is that __refstring requires using the new <__atomic_support> but <__refstring> shouldn't be a header anyway.

Jul 11 2017, 6:08 PM
EricWF accepted D35174: [libc++] Fix unrepresentable enum for clang-cl unstable ABI.

LGTM.

Jul 11 2017, 6:05 PM

Jul 10 2017

EricWF added a comment to D34331: func.wrap.func.con: Unset function before destroying anything.

@dexonsmith Mind if I hijack this and check in your changes to <functional> with my tests?

Not at all.

@dexonsmith I'm not sure it's sane to allow reentrant behavior. Could you explain why you think it is?

It didn't seem sane to me at first either, despite this being supported by std::unique_ptr and std::shared_ptr. I found our user fairly convincing, though:

  • They had an underlying reference counted object, so only the destruction of the last copy of A nulled out the pointer (mimicked that with the bool cancel).
  • They had a callback function intended to be called once, and dropping that function on cancellation (mimicked that with a global variable). The cancel operation nulled out a std::function, but destroying the objects captured in the lambda in that std::function also separately decided to perform a cancel, which should have been OK. The cancel function just contained callback = nullptr.
Jul 10 2017, 2:10 AM