![]() This completes the implementation of P1091R3 and P1381R1. This patch allow the capture of structured bindings both for C++20+ and C++17, with extension/compat warning. In addition, capturing an anonymous union member, a bitfield, or a structured binding thereof now has a better diagnostic. We only support structured bindings - as opposed to other kinds of structured statements/blocks. We still emit an error for those. In addition, support for structured bindings capture is entirely disabled in OpenMP mode as this needs more investigation - a specific diagnostic indicate the feature is not yet supported there. Note that the rest of P1091R3 (static/thread_local structured bindings) was already implemented. at the request of @shafik, i can confirm the correct behavior of lldb wit this change. Fixes https://github.com/llvm/llvm-project/issues/54300 Fixes https://github.com/llvm/llvm-project/issues/54300 Fixes https://github.com/llvm/llvm-project/issues/52720 Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D122768 |
||
---|---|---|
.. | ||
ASTUtils.cpp | ||
ASTUtils.h | ||
DiagOutputUtils.h | ||
NoUncountedMembersChecker.cpp | ||
PtrTypesSemantics.cpp | ||
PtrTypesSemantics.h | ||
RefCntblBaseVirtualDtorChecker.cpp | ||
UncountedCallArgsChecker.cpp | ||
UncountedLambdaCapturesChecker.cpp | ||
UncountedLocalVarsChecker.cpp |