-
-
Notifications
You must be signed in to change notification settings - Fork 240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cpp coro recursively task "coroutine transformation" wrong #518
Labels
bug
Something isn't working
Comments
Hello @oncealong, thanks for reporting this! I'll look into that issue. Andreas |
andreasfertig
added a commit
that referenced
this issue
Jun 20, 2023
The original issue uncovered more shortcomings in the coroutine transformation. a) It appears that `operator co_await` is the _only_ operator so far which must have a space between "operator" and the operator name. b) Since `co_await` is an expression the keyword can occur in a lot of places, like lambdas. One limitation over lambdas is that a `co_await` occurs only in a `CoroutineBodyStmt`. This patch adds support for more case, however, some are of these transformations lead to code that is not logically correct. For example, all loop related statements with a `co_await` as a condition or increment expression are logically incorrect and I don't know a way to make them correct.
andreasfertig
added a commit
that referenced
this issue
Jun 20, 2023
The original issue uncovered more shortcomings in the coroutine transformation. a) It appears that `operator co_await` is the _only_ operator so far which must have a space between "operator" and the operator name. b) Since `co_await` is an expression the keyword can occur in a lot of places, like lambdas. One limitation over lambdas is that a `co_await` occurs only in a `CoroutineBodyStmt`. This patch adds support for more case, however, some are of these transformations lead to code that is not logically correct. For example, all loop related statements with a `co_await` as a condition or increment expression are logically incorrect and I don't know a way to make them correct.
andreasfertig
added a commit
that referenced
this issue
Jun 20, 2023
Fixed #518: Support for `co_await` in a `VarDecl` and more.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
https://godbolt.org/z/fcsPfevzW
the code above is from noop_coroutine.
when "coroutine transformation", the code
transform to
the transform code
__f->x =
not grammatical.The text was updated successfully, but these errors were encountered: