Gor Nishanov
4ffb434ca8
[coroutines] Rename driver flag -fcoroutines to -fcoroutines-ts
...
Summary:
Also makes -fcoroutines_ts to be both a Driver and CC1 flag.
Patch mostly by EricWF.
Reviewers: rnk, cfe-commits, rsmith, EricWF
Subscribers: mehdi_amini
Differential Revision: https://reviews.llvm.org/D25130
llvm-svn: 283064
2016-10-02 03:31:58 +00:00
Eric Fiselier
7d5773e610
[coroutines] Diagnose when 'main' is declared as a coroutine.
...
Summary: The title says it all.
Reviewers: rsmith, GorNishanov
Subscribers: mehdi_amini, cfe-commits
Differential Revision: https://reviews.llvm.org/D25078
llvm-svn: 282973
2016-09-30 22:38:31 +00:00
Eric Fiselier
a546528d7b
[Coroutines] Fix assertion about uncorrected typos in co_await/co_yield/co_return expressions
...
llvm-svn: 282792
2016-09-29 21:47:39 +00:00
Richard Smith
2af65c4a89
[coroutines] Build a CoroutineBodyStmt when finishing parsing a coroutine, and form the initial_suspend, final_suspend, and get_return_object calls.
...
llvm-svn: 253946
2015-11-24 02:34:39 +00:00
Richard Smith
71d403effb
[coroutines] Check for overload sets in co_yield / co_return operands being resolved by a call to yield_value / return_value before rejecting them.
...
llvm-svn: 253817
2015-11-22 07:33:28 +00:00
Richard Smith
4ba66602bd
[coroutines] Build implicit return_value / return_void calls for co_return.
...
llvm-svn: 253816
2015-11-22 07:05:16 +00:00
Richard Smith
d7bed4d660
[coroutines] Factor out co_await representation into common base class for co_await and co_yield, and use it to hold await_* calls.
...
llvm-svn: 253811
2015-11-22 02:57:17 +00:00
Richard Smith
10610f7f2f
[coroutines] Better handling of placeholder types.
...
llvm-svn: 253731
2015-11-20 22:57:24 +00:00
Richard Smith
ae3d147c91
[coroutines] Support braced-init-list as operand of co_yield expression.
...
llvm-svn: 253726
2015-11-20 22:47:10 +00:00
Richard Smith
23da82c5ea
[coroutines] Synthesize yield_value call for co_yield.
...
llvm-svn: 253725
2015-11-20 22:40:06 +00:00
Richard Smith
744b224bb5
[coroutines] Per latest wording paper, co_* are no longer permitted in any
...
unevaluated operands.
llvm-svn: 253641
2015-11-20 02:54:01 +00:00
Richard Smith
9b2f53e39e
[coroutines] Tweak diagnostics to always use fully-qualified name for std::coroutine_traits.
...
llvm-svn: 253535
2015-11-19 02:36:35 +00:00
Richard Smith
9f690bd80b
[coroutines] Creation of promise object, lookup of operator co_await, building
...
of await_* calls, and AST representation for same.
llvm-svn: 251387
2015-10-27 06:02:45 +00:00
Richard Smith
cfd53b4e99
[coroutines] Initial stub Sema functionality for handling coroutine await / yield / return.
...
llvm-svn: 250993
2015-10-22 06:13:50 +00:00