Files
clang-p2996/clang/lib/Sema/AnalysisBasedWarnings.cpp
Matt 8c22f569b3 [Fix] Speedup -Wunsafe-buffer-usage when using clang modules. (#127161)
Each piece of code should have analysis run on it precisely once.
However, if you build a module, and then build another module depending
on it, the header file of the module you depend on will have
`-Wunsafe-buffer-usage` run on it twice. This normally isn't a huge
issue, but in the case of using the standard library as a module, simply
adding the line `#include <cstddef>` increases compile times by 900ms
(from 100ms to 1 second) on my machine. I believe this is because the
standard library has massive modules, of which only a small part is used
(the AST is ~700k lines), and because if what I've been told is correct,
the AST is lazily generated, and `-Wunsafe-buffer-usage` forces it to be
evaluated every time.

See https://issues.chromium.org/issues/351909443 for details and
benchmarks.
2025-04-15 10:17:03 +08:00

106 KiB