Details
- Reviewers
- rnk 
Diff Detail
- Repository
- rG LLVM Github Monorepo
- Build Status
- Buildable 31307 - Build 31306: arc lint + arc unit 
Event Timeline
Nice, this is way less complicated than we thought originally.
| clang/lib/CodeGen/CGExprScalar.cpp | ||
|---|---|---|
| 572 | Please revert unrelated whitespace changes. | |
| 2067 | One thought I had here was, should this look through casts? I guess, what does MSVC do in wacky cases like this: struct Foo; struct Bar; Foo *p = (Foo*)(Bar*)malloc(42); I tested locally, and MSVC emits the first cast as the allocated type, so I guess that's consistent with what you have. Let's add the double cast test case to be thorough, though. | |
| llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp | ||
| 1093 ↗ | (On Diff #197651) | This change is unrelated, and also surprising to me, usually any symbol record wants to refer to the complete type index if it can. | 
lgtm, with a minor tweak
| clang/lib/CodeGen/CGExprScalar.cpp | ||
|---|---|---|
| 2068 | It's more idiomatic to say isa<ExplicitCastExpr>(CE) than to use dyn_cast and test for nullness. The casting API actually has reasonably good documentation on it if you're curious: | |
Please revert unrelated whitespace changes.