This is an archive of the discontinued LLVM Phabricator instance.

[coroutines] Fix assertion in DependentCoawaitExpr when the argument is non-dependent.
ClosedPublic

Authored by EricWF on Mar 8 2017, 8:09 PM.

Details

Summary

A co_await arg expression has a dependent type whenever the promise type is still dependent, even if the argument to co_await is not. This is because we cannot attempt the await_transform(<arg>) until after we know the promise type.

This patch fixes an assertion in the constructor of DependentCoawaitExpr that asserted that arg must also be dependent.

Diff Detail

Event Timeline

EricWF created this revision.Mar 8 2017, 8:09 PM
This revision is now accepted and ready to land.Mar 8 2017, 8:55 PM
EricWF closed this revision.Mar 8 2017, 9:13 PM