EricWF (Eric Fiselier)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 26 2014, 12:44 PM (160 w, 4 d)

Recent Activity

Tue, Jul 18

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.

Tue, Jul 18, 3:44 PM

Wed, Jul 12

EricWF created D35344: [coroutines] Rough `co_promise` implementation..
Wed, Jul 12, 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.

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

Add more appropriate test.

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

Tue, Jul 11

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.
Tue, Jul 11, 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.

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

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

Tue, Jul 11, 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.

Tue, Jul 11, 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.

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

LGTM.

Tue, Jul 11, 6:05 PM

Mon, Jul 10

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.
Mon, Jul 10, 2:10 AM

Sun, Jul 9

EricWF committed rL307518: Fix issues with UBSAN test configuration..
Fix issues with UBSAN test configuration.
Sun, Jul 9, 9:33 PM
EricWF committed rL307517: Work around PR31864 - ATOMIC_LLONG_LOCK_FREE is incorrect in 32 bit builds.
Work around PR31864 - ATOMIC_LLONG_LOCK_FREE is incorrect in 32 bit builds
Sun, Jul 9, 9:17 PM
EricWF committed rL307515: Remove incorrect FIXME comment; the FIXME was addressed before the changes were….
Remove incorrect FIXME comment; the FIXME was addressed before the changes were…
Sun, Jul 9, 8:00 PM
EricWF committed rL307514: Remove non-ascii characters introduced in r307513.
Remove non-ascii characters introduced in r307513
Sun, Jul 9, 7:53 PM
EricWF committed rL307513: [coroutines] Include the implicit object parameter type when looking up….
[coroutines] Include the implicit object parameter type when looking up…
Sun, Jul 9, 6:27 PM
EricWF added a comment to D35160: Only check shadow memory for operands that are sized..

@morehouse Thanks for fixing this!

Sun, Jul 9, 3:21 PM
EricWF committed rL307510: Fix test failure to to new/delete ellisions.
Fix test failure to to new/delete ellisions
Sun, Jul 9, 3:20 PM
EricWF added a comment to D35174: [libc++] Fix unrepresentable enum for clang-cl unstable ABI.

Maybe using a static const variable instead of an enum would work better? __long_mask should never actually be ODR used so a definition for it should never actually be needed.

Sun, Jul 9, 3:13 PM
EricWF accepted D34535: [libcxx] [test] Fix MSVC warning C4067 "unexpected tokens following preprocessor directive - expected a newline"..
Sun, Jul 9, 3:03 PM
EricWF accepted D35170: [libcxx] Remove stray backticks from BuildingLibcxx.rst.
Sun, Jul 9, 2:27 PM
EricWF committed rL307461: Fix filesystem build on platforms with weird time_t types..
Fix filesystem build on platforms with weird time_t types.
Sun, Jul 9, 6:19 AM
EricWF committed rL307450: Fix diagnostic in verify test to match new Clang output.
Fix diagnostic in verify test to match new Clang output
Sun, Jul 9, 6:18 AM
EricWF requested changes to D35046: [coroutines] Include "this" type when looking up coroutine_traits.

I think the test could be improved. First could you add the test within test/SemaCXX/coroutines.cpp? Second could you add some negative tests that check the diagnostics generated when you don't provide a specialization of coroutine traits (ie that the old behaviour of not including the class type now produces diagnostics). Could you also add tests for const/volatile and lvalue/rvalue qualified member functions?

Sun, Jul 9, 6:13 AM
EricWF accepted D32385: [libcxx] optional: Implement LWG 2900 and P0602.

LGTM. I'll deal with ensuring all vendors are willing to take this ABI break (or that they avoid it).

Sun, Jul 9, 6:13 AM
EricWF added a comment to D35159: [libcxxabi][demangler] Use an AST to represent the demangled name.

This patch causes test_demangle.pass.cpp to fail with UBSan.

Sun, Jul 9, 6:13 AM
EricWF added a comment to D34331: func.wrap.func.con: Unset function before destroying anything.

However there is another bug here. operator=(function&&) doesn't correctly call the destructor of the functor. I'll fix that as a separate commit.

Sun, Jul 9, 6:13 AM
EricWF requested changes to D34331: func.wrap.func.con: Unset function before destroying anything.

@dexonsmith I'm not sure it's sane to allow reentrant behavior. Could you explain why you think it is? Should the copy assignment operator allow reentrancy as well?

Sun, Jul 9, 6:13 AM
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?

Sun, Jul 9, 6:13 AM

Wed, Jul 5

EricWF accepted D34649: Remove addtional parameters in function std::next() and std::prev().

Creating a function pointer with proper parameters pointing to std::next() or std::prev() should work.

Wed, Jul 5, 5:55 PM
EricWF accepted D35038: [libunwind] Add a test harness.

This LGTM. I'm assuming it works but we can iron out the kinks once it lands. We should probably add builders that run the tests as well.

Wed, Jul 5, 5:49 PM
EricWF committed rL307230: Fix incomplete type test on OS X; workaround weird DYLD_LIBRARY_PATH behavior.
Fix incomplete type test on OS X; workaround weird DYLD_LIBRARY_PATH behavior
Wed, Jul 5, 5:29 PM
EricWF committed rL307218: Suppress -Waligned-allocation-unavailable warning in libc++ test suite.
Suppress -Waligned-allocation-unavailable warning in libc++ test suite
Wed, Jul 5, 3:41 PM
EricWF added a comment to D34918: [libc++] Refactoring __sync_* builtins; NFC.

Why don't you start by adding __libcpp_sync_foo functions that we can use, then we can decide on what macros to use to guard their definition.

Wed, Jul 5, 11:57 AM
EricWF accepted D34536: [libcxx] [test] Fix Clang -Wunused-local-typedef warnings..

LGTM. @STL_MSFT This seems like you could commit it without review. You're a professional STL developer after all, if you can't get this right may God have mercy on your users.

Wed, Jul 5, 11:51 AM
EricWF added a comment to D34170: [libcxx] Moving compiler specific test infrastructure to compiler.py.

I'll try and get to this tonight.

Wed, Jul 5, 8:14 AM
EricWF committed rL307128: Add 32-bit libc++ builder.
Add 32-bit libc++ builder
Wed, Jul 5, 12:13 AM

Tue, Jul 4

EricWF committed rL307119: Fix equivalent test on OS X and FreeBSD.
Fix equivalent test on OS X and FreeBSD
Tue, Jul 4, 8:55 PM
EricWF committed rL307118: Add dummy CMake target for *.pass.cpp tests when LIBCXX_CONFIGURE_IDE=ON..
Add dummy CMake target for *.pass.cpp tests when LIBCXX_CONFIGURE_IDE=ON.
Tue, Jul 4, 8:50 PM
EricWF committed rL307117: Implement LWG 2937 - equivalent("dne", "exists") is not an error.
Implement LWG 2937 - equivalent("dne", "exists") is not an error
Tue, Jul 4, 8:37 PM
EricWF requested changes to D34918: [libc++] Refactoring __sync_* builtins; NFC.
Tue, Jul 4, 2:54 PM
EricWF added a comment to D34918: [libc++] Refactoring __sync_* builtins; NFC.

On architectures without atomic instructions, the atomic built-ins cannot be lowered. If _LIBCPP_HAS_NO_THREADS is enabled, we should just use regular code.

Tue, Jul 4, 2:54 PM

Jun 21 2017

EricWF committed rL305955: Attempt to avoid static init ordering issues with globalMemCounter.
Attempt to avoid static init ordering issues with globalMemCounter
Jun 21 2017, 2:43 PM

Jun 20 2017

EricWF accepted D33953: [libcxx] [test] Add more tests to tuple_size_structured_bindings.pass.cpp and make it friendlier to C1XX..
Jun 20 2017, 12:15 PM

Jun 18 2017

EricWF accepted D34332: path: Use string_view_t consistently.

Thanks!

Jun 18 2017, 3:38 PM

Jun 17 2017

EricWF added a comment to D32950: Support C++1z features in `__has_extension`.

@rsmith ping. I need this for http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0607r0.html

Jun 17 2017, 4:21 PM
EricWF accepted D34112: Add a missing SFINAE condition to the `variant`'s converting constructor..

LGTM.

Jun 17 2017, 2:38 PM
EricWF added inline comments to D34225: [clang-format] Teach clang-format how to handle C++ coroutines.
Jun 17 2017, 4:20 AM

Jun 16 2017

EricWF updated the summary of D34225: [clang-format] Teach clang-format how to handle C++ coroutines.
Jun 16 2017, 4:54 PM
EricWF added inline comments to D34249: [libc++] Don't use UTIME_OMIT to detect utimensat on Apple.
Jun 16 2017, 4:39 PM

Jun 15 2017

EricWF committed rL305549: Fix potential bug by casting to the POSIX specified type.
Fix potential bug by casting to the POSIX specified type
Jun 15 2017, 11:18 PM
EricWF added inline comments to D34249: [libc++] Don't use UTIME_OMIT to detect utimensat on Apple.
Jun 15 2017, 9:38 PM
EricWF updated the diff for D34249: [libc++] Don't use UTIME_OMIT to detect utimensat on Apple.
  • Address inline comments.
Jun 15 2017, 9:30 PM
EricWF updated the diff for D34249: [libc++] Don't use UTIME_OMIT to detect utimensat on Apple.
Jun 15 2017, 9:29 PM
EricWF committed rL305540: Allow most libc++ builders to run on any of EricWF's slaves.
Allow most libc++ builders to run on any of EricWF's slaves
Jun 15 2017, 7:02 PM
EricWF committed rL305539: Allow the libc++ C header wrappers to be included when compiling C..
Allow the libc++ C header wrappers to be included when compiling C.
Jun 15 2017, 6:58 PM
EricWF added a comment to D34237: Mark the operations of __wrap_iter as constexpr.

A large portion of this patch is UB. Any function that unconditionally calls __get_db() can never be a valid constant expression, hence UB.

Jun 15 2017, 6:44 PM
EricWF committed rL305536: Allow coroutine_handle<const T> to support creation from const references to….
Allow coroutine_handle<const T> to support creation from const references to…
Jun 15 2017, 5:37 PM
EricWF added a comment to D34237: Mark the operations of __wrap_iter as constexpr.

Could you re-upload this with a updated diff against trunk, and one with more context.

Jun 15 2017, 5:00 PM
EricWF added inline comments to D34249: [libc++] Don't use UTIME_OMIT to detect utimensat on Apple.
Jun 15 2017, 3:42 PM
EricWF created D34249: [libc++] Don't use UTIME_OMIT to detect utimensat on Apple.
Jun 15 2017, 1:50 PM
EricWF added reviewers for D34225: [clang-format] Teach clang-format how to handle C++ coroutines: klimek, alexfh.
Jun 15 2017, 1:21 PM
EricWF committed rL305500: Use _LIBCPP_FALLTHROUGH() to avoid warnings about [[gnu::fallthrough]] being….
Use _LIBCPP_FALLTHROUGH() to avoid warnings about [[gnu::fallthrough]] being…
Jun 15 2017, 1:18 PM
EricWF committed rL305498: [coroutines] Remove pass-through operator co_await; Replace it with the input….
[coroutines] Remove pass-through operator co_await; Replace it with the input…
Jun 15 2017, 1:01 PM
EricWF closed D34216: [coroutines] Remove pass-through operator co_await; Replace it with the input expression.
Jun 15 2017, 1:01 PM
EricWF updated the diff for D34216: [coroutines] Remove pass-through operator co_await; Replace it with the input expression.
  • Update against trunk.
Jun 15 2017, 1:01 PM
EricWF added inline comments to D33895: [Support] Add TempFailureRetry helper function.
Jun 15 2017, 12:59 PM
EricWF committed rL305496: [coroutines] Allow co_await and co_yield expressions that return an lvalue to….
[coroutines] Allow co_await and co_yield expressions that return an lvalue to…
Jun 15 2017, 12:44 PM
EricWF closed D34194: [coroutines] Allow co_await and co_yield expressions that return an lvalue to compile.
Jun 15 2017, 12:44 PM
EricWF updated the diff for D34194: [coroutines] Allow co_await and co_yield expressions that return an lvalue to compile.
  • Fix the test when -discard-value-names is present, at least my part of the test.
Jun 15 2017, 12:43 PM
EricWF updated the diff for D34194: [coroutines] Allow co_await and co_yield expressions that return an lvalue to compile.
  • Address most inline comments.
Jun 15 2017, 11:48 AM
EricWF added inline comments to D34194: [coroutines] Allow co_await and co_yield expressions that return an lvalue to compile.
Jun 15 2017, 11:44 AM

Jun 14 2017

EricWF committed rL305451: attempt to fix GCC ToT build failures.
attempt to fix GCC ToT build failures
Jun 14 2017, 8:50 PM
EricWF committed rL305450: Correct documentation about the AfterClass clang-format option.
Correct documentation about the AfterClass clang-format option
Jun 14 2017, 8:38 PM
EricWF committed rL305448: Fix another test with modules enabled.
Fix another test with modules enabled
Jun 14 2017, 8:04 PM
EricWF committed rL305447: remove incorrectly committed assertion.
remove incorrectly committed assertion
Jun 14 2017, 8:03 PM
EricWF committed rL305446: Add hack to get --param=enable_modules=true working with a __config_site header.
Add hack to get --param=enable_modules=true working with a __config_site header
Jun 14 2017, 7:54 PM
EricWF committed rL305445: Fix test when modules are enabled.
Fix test when modules are enabled
Jun 14 2017, 7:54 PM
EricWF committed rL305443: Add new buildslave for libc++.
Add new buildslave for libc++
Jun 14 2017, 7:19 PM
EricWF committed rL305442: Move external instantiation for __vector_base_common to vector.cpp.
Move external instantiation for __vector_base_common to vector.cpp
Jun 14 2017, 6:53 PM
EricWF committed rL305437: [clang-format] Allow git-clang-format to handle empty extensions..
[clang-format] Allow git-clang-format to handle empty extensions.
Jun 14 2017, 5:54 PM
EricWF accepted D34224: [NFC] remove trailing WS.
Jun 14 2017, 5:17 PM
EricWF created D34225: [clang-format] Teach clang-format how to handle C++ coroutines.
Jun 14 2017, 4:42 PM
EricWF created D34216: [coroutines] Remove pass-through operator co_await; Replace it with the input expression.
Jun 14 2017, 11:22 AM
EricWF updated the diff for D34194: [coroutines] Allow co_await and co_yield expressions that return an lvalue to compile.
Jun 14 2017, 12:27 AM

Jun 13 2017

EricWF updated the diff for D34194: [coroutines] Allow co_await and co_yield expressions that return an lvalue to compile.
  • Improve test by using regular expressions and [[Name]] where possible.
Jun 13 2017, 11:56 PM
EricWF updated the diff for D34194: [coroutines] Allow co_await and co_yield expressions that return an lvalue to compile.
  • Improve tests
Jun 13 2017, 11:38 PM
EricWF updated the diff for D34194: [coroutines] Allow co_await and co_yield expressions that return an lvalue to compile.
  • Remove unneeded assertion.
Jun 13 2017, 11:37 PM
EricWF updated the diff for D34194: [coroutines] Allow co_await and co_yield expressions that return an lvalue to compile.
  • Fix assertion for co_yield.
Jun 13 2017, 11:35 PM
EricWF created D34194: [coroutines] Allow co_await and co_yield expressions that return an lvalue to compile.
Jun 13 2017, 10:56 PM
EricWF committed rL305363: [coroutines] Fix co_await for range statement.
[coroutines] Fix co_await for range statement
Jun 13 2017, 8:25 PM
EricWF closed D34021: [coroutines] Fix co_await for range statement.
Jun 13 2017, 8:25 PM
EricWF updated the diff for D34021: [coroutines] Fix co_await for range statement.
  • Remove changes to how CoroutineSuspendExprs ExprValueType is calculated. They were incorrect. However this means that Clang still fails to compile co_await and co_yield expressions where await_resume returns an lvalue reference. @GorNishanov Can you take a look at this? Reproducer:
Jun 13 2017, 8:23 PM
EricWF added inline comments to D34021: [coroutines] Fix co_await for range statement.
Jun 13 2017, 12:45 PM
EricWF accepted D30268: Avoid copy of __atoms when char_type is char.

Could you please add the benchmark under libcxx/benchmarks.

Jun 13 2017, 12:31 PM