[PATCH] D68845: Don't emit unwanted constructor calls in co_return statements

Aaron Puchert via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Oct 12 16:41:13 PDT 2019


aaronpuchert added a comment.

@GorNishanov Do I read the standard correctly that there are no constraints on what `return_value` is? That is, could it also be a function pointer or function object?

  struct promise_function_pointer {
    // ...
    void (*return_value)(T&& value);
  };
  struct promise_function_object {
    // ...
    struct { void operator()(T&& value) {}; } return_value;
  };

In both cases, the expression `<p>.return_value(<expr-or-braced-init-list>)` would be well-formed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68845/new/

https://reviews.llvm.org/D68845





More information about the cfe-commits mailing list