forked from OSchip/llvm-project
b9ca972b1f
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. Note: on MSVC where -fdelayed-template-parsing is the default, the check cannot catch cases in uninstantiated templates. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D123655 |
||
---|---|---|
.. | ||
_static | ||
_templates | ||
clang-tidy | ||
clangd | ||
CMakeLists.txt | ||
ModularizeUsage.rst | ||
README.txt | ||
ReleaseNotes.rst | ||
clang-doc.rst | ||
clang-include-fixer.rst | ||
clang-modernize.rst | ||
clang-rename.rst | ||
clang-tidy.rst | ||
clangd.rst | ||
conf.py | ||
cpp11-migrate.rst | ||
doxygen-mainpage.dox | ||
doxygen.cfg.in | ||
index.rst | ||
make.bat | ||
modularize.rst | ||
pp-trace.rst |
README.txt
---------------------------------- Documentation in clang-tools-extra ---------------------------------- To generate documentation in HTML format from files in clang-tools-extra/docs, build the docs-clang-tools-html target. To generate documentation from the source code using Doxygen, build the doxygen-clang-tools target.