[CIR] Implement handling for lambda capture of destructured types (#191316) Lambda captures of variables that require destruction requires us to created cleanup scopes with deferred deactivation. That is, the cleanup scope is created, but added to a list that automatically deactivates the cleanup when we exit the scope in the compiler code where the lambda is being generated. This deferred deactivation mechanism will be needed for other use cases as well, so it is implemented in a general way, which closely follows the classic codegen handling. Assisted-by: Cursor / claude-4.6-opus-high GitOrigin-RevId: 23674b9cf3e45194f3f0b7ca0ada8a558f1d9c6d
Welcome to Clang.
This is a compiler front-end for the C family of languages (C, C++ and Objective-C) which is built as part of the LLVM compiler infrastructure project.
Unlike many other compiler frontends, Clang is useful for a number of things beyond just compiling code: we intend for Clang to be host to a number of different source-level tools. One example of this is the Clang Static Analyzer.
If you're interested in more (including how to build Clang) it is best to read the relevant websites. Here are some pointers:
Information on Clang: http://clang.llvm.org/
Building and using Clang: http://clang.llvm.org/get_started.html
Clang Static Analyzer: http://clang-analyzer.llvm.org/
Information on the LLVM project: http://llvm.org/
If you have questions or comments about Clang, a great place to discuss them is on the Clang forums:
If you find a bug in Clang, please file it in the LLVM bug tracker: