aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/ModuleDependencyCollector.cpp
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2022-04-13 22:35:11 -0700
committerFangrui Song <i@maskray.me>2022-04-13 22:35:11 -0700
commit73da7eed8fac84c9005518740f12d58389998d95 (patch)
tree200794ff27d643a9dfdcb50ebd9fc3a438fcdffa /clang/lib/Frontend/ModuleDependencyCollector.cpp
parent1e01f95057a702658a88879223586fde0122f038 (diff)
downloadllvm-73da7eed8fac84c9005518740f12d58389998d95.zip
llvm-73da7eed8fac84c9005518740f12d58389998d95.tar.gz
llvm-73da7eed8fac84c9005518740f12d58389998d95.tar.bz2
[clang-tidy] Add portability-std-allocator-const check
Report use of ``std::vector<const T>`` (and similar containers of const elements). These are now allowed in standard C++ due to undefined ``std::allocator<const T>``. They do not compile with libstdc++ or MSVC. Future libc++ will remove the extension (D120996). See docs/clang-tidy/checks/portability-std-allocator-const.rst for detail. I have attempted clean-up in a large code base. Here are some statistics: * 98% are related to the container `std::vector`, among `deque/forward_list/list/multiset/queue/set/stack/vector`. * 24% are related to `std::vector<const std::string>`. * Both `std::vector<const absl::string_view>` and `std::vector<const int>` contribute 2%. The other contributors spread over various class types. The check can be useful to other large code bases and may serve as an example for future libc++ strictness improvement. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D123655
Diffstat (limited to 'clang/lib/Frontend/ModuleDependencyCollector.cpp')
0 files changed, 0 insertions, 0 deletions