Skip to content
Snippets Groups Projects
  • Eric Fiselier's avatar
    43671d3c
    [coroutines] Fix diagnostics depending on the first coroutine statement. · 43671d3c
    Eric Fiselier authored
    Summary:
    Some coroutine diagnostics need to point to the location of the first coroutine keyword in the function, like when diagnosing a `return` inside a coroutine. Previously we did this by storing each *valid* coroutine statement in a list and select the first one to use in diagnostics. However if every coroutine statement is invalid we would have no location to point to.
    
    This patch fixes the storage of the first coroutine statement location, ensuring that it gets stored even when the resulting AST node would be invalid. 
    This patch also removes the `CoroutineStmts` list in `FunctionScopeInfo` because it was unused.
    
    Reviewers: rsmith, GorNishanov, aaron.ballman
    
    Reviewed By: GorNishanov
    
    Subscribers: mehdi_amini, cfe-commits
    
    Differential Revision: https://reviews.llvm.org/D30776
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297547 91177308-0d34-0410-b5e6-96231b3b80d8
    43671d3c
    History
    [coroutines] Fix diagnostics depending on the first coroutine statement.
    Eric Fiselier authored
    Summary:
    Some coroutine diagnostics need to point to the location of the first coroutine keyword in the function, like when diagnosing a `return` inside a coroutine. Previously we did this by storing each *valid* coroutine statement in a list and select the first one to use in diagnostics. However if every coroutine statement is invalid we would have no location to point to.
    
    This patch fixes the storage of the first coroutine statement location, ensuring that it gets stored even when the resulting AST node would be invalid. 
    This patch also removes the `CoroutineStmts` list in `FunctionScopeInfo` because it was unused.
    
    Reviewers: rsmith, GorNishanov, aaron.ballman
    
    Reviewed By: GorNishanov
    
    Subscribers: mehdi_amini, cfe-commits
    
    Differential Revision: https://reviews.llvm.org/D30776
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297547 91177308-0d34-0410-b5e6-96231b3b80d8
Code owners
Assign users and groups as approvers for specific file changes. Learn more.