| commit | 9037dc33e285f7c54c491d51a33b75c03ad69385 | [log] [tgz] |
|---|---|---|
| author | Daniel Sanders <daniel_l_sanders@apple.com> | Wed Nov 05 10:24:56 2025 -0800 |
| committer | Copybara-Service <copybara-worker@google.com> | Wed Nov 05 10:31:24 2025 -0800 |
| tree | ac4217d332aaf7289c061c6af25eaf35488a4c78 | |
| parent | cc80713c3cabb34257ba65b0f2f7e65a01d167fb [diff] |
[clang] Refactor clang's keyword enable/disable mechanism to allow lldb to re-use it (#165323) lldb's CPlusPlusNameParser is currently identifying keywords using it's own map implemented using clang/Basic/TokenKinds.def. However, it does not respect the language options so identifiers can incorrectly determined to be keywords when using languages in which they are not keywords. Rather than implement the logic to enable/disable keywords in both projects it makes sense for lldb to use clang's implementation. See #164284 for more information GitOrigin-RevId: d3caae1c07c297a5765d0498faf43f4730f71466
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: