[PATCH] D45121: [coroutines] Add noop_coroutine to <experimental/coroutine>

Gor Nishanov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 4 07:01:49 PDT 2018


GorNishanov marked 2 inline comments as done.
GorNishanov added inline comments.


================
Comment at: include/experimental/coroutine:294
+
+inline _LIBCPP_ALWAYS_INLINE
+noop_coroutine_handle noop_coroutine() _NOEXCEPT {
----------------
lewissbaker wrote:
> EricWF wrote:
> > This should just be `_LIBCPP_INLINE_VISIBILITY`. We try not to use `_LIBCPP_ALWAYS_INLINE` in new code.
> Should the same change be applied to the other usages of `_LIBCPP_ALWAYS_INLINE` in this file?
> Should some of them be marked `constexpr` to be consistent with `noop_coroutine_handle` member functions above?
Those were added by @EricWF, so from my perspective they are immutable.


================
Comment at: include/experimental/coroutine:288
+
+    coroutine_handle() {
+      this->__handle_ = __builtin_coro_noop();
----------------
EricWF wrote:
> Can `__builtin_coro_noop` produce a constant expression?
No. llvm generates this value, so from clang perspective, it is not a constant.
At llvm level it is a private per TU constant, so invocations of noop_coroutine() in different TUs linked into the same program will return you different values.


https://reviews.llvm.org/D45121





More information about the cfe-commits mailing list