================
@@ -0,0 +1,7 @@
+// RUN: %clang_analyze_cc1 -std=c++20 -analyzer-checker=optin.performance 
-verify %s
----------------
redcode wrote:

> Have you used AI, and read the policies around that?

I have not used AI.

> What alternatives have you considered?

To be honest, I picked the field-level check because it was the direct fix for 
the crash, as it happens while laying out a field whose type is dependent, and 
`IsTrickyField` is already the place that skips records whose fields can't be 
laid out. The `isDependentType()` bail-out at the top of `shouldSkipDecl` 
already exists but was not catching this; I hadn't chased down why at the time. 
I didn't really weigh the traversal-level option before opening the PR.

> I presume the checker already have at least one test file. I think we should 
> squeeze this into one of those tests and suffix the line with `// no-crash` 
> to illustrate that this used to crash.

I could add it to `clang/test/Analysis/padding_cpp.cpp` but I would need to 
bump it to C++20, since the repro needs abbreviated function templates. Is it 
OK?

https://github.com/llvm/llvm-project/pull/232986
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to