commit | 862f51587e0c4c8977f7635e9a65a0f1d6ffdcb8 | [log] [tgz] |
---|---|---|
author | Andy Kaylor <akaylor@nvidia.com> | Wed Aug 27 12:54:07 2025 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Aug 27 12:55:56 2025 -0700 |
tree | 899bb0a032be8b73d47305f6ff93fdb1eedbd5a6 | |
parent | 7397be745c46a1ad30f5bd8fc883c7e01c9d865e [diff] |
[CIR][NFC] Add errors for unhandled AggExprEmitter visitors (#155469) There are a lot of required handlers in AggExprEmitter that are currently missing. Because the ASTVisitor has fallbacks, this means we just silently ignore whatever expressions are not explicitly handled. This patch adds handlers where we know they will be needed and just issues a diagnostic. This exposed failures in a few tests. In one case, we should have handled constant initialization earlier, which would have avoided going to the AggExprEmitter at all. I added a stub with a missing feature marker to allow that case to work as it had. Another test required us to ignore cast expressions that should be ignored, so I partially implemented the cast visitor. Finally, there's a case where the test was just accepting a bad result. I changed that case to XFAIL until it can be properly fixed. GitOrigin-RevId: ab6ff0e432621b9bd8154e3b293908ff3fa93041
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: