Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[clang] P2266: apply move elision rules on throw expr nested in funct…
…ion prototypes Our rules to determine if the throw expression are within the variable scope were giving a false negative result in case the throw expression would appear within a decltype in a nested function declaration. Per P2266R3, the relevant rule is: [expr.prim.id.unqual]/2 ``` if the id-expression (possibly parenthesized) is the operand of a throw-expression, and names an implicitly movable entity that belongs to a scope that does not contain the compound-statement of the innermost lambda-expression, try-block , or function-try-block (if any) whose compound-statement or ctor-initializer encloses the throw-expression. ``` This fixes PR54341. Signed-off-by: Matheus Izvekov <mizvekov@gmail.com> Reviewed By: rsmith Differential Revision: https://reviews.llvm.org/D127075
- Loading branch information