forked from OSchip/llvm-project
37f10a0c25
Summary: This is http://reviews.llvm.org/D13746 but instead of including <array>, a stub is provided. This check flags all array subscriptions on static arrays and std::arrays that either have a non-compile-time-constant index or are out of bounds. Dynamic accesses into arrays are difficult for both tools and humans to validate as safe. array_view is a bounds-checked, safe type for accessing arrays of data. at() is another alternative that ensures single accesses are bounds-checked. If iterators are needed to access an array, use the iterators from an array_view constructed over the array. This rule is part of the "Bounds safety" profile of the C++ Core Guidelines, see https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#-bounds2-only-index-into-arrays-using-constant-expressions Reviewers: alexfh, sbenza, bkramer, aaron.ballman Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15030 llvm-svn: 255470 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CppCoreGuidelinesTidyModule.cpp | ||
Makefile | ||
ProBoundsArrayToPointerDecayCheck.cpp | ||
ProBoundsArrayToPointerDecayCheck.h | ||
ProBoundsConstantArrayIndexCheck.cpp | ||
ProBoundsConstantArrayIndexCheck.h | ||
ProBoundsPointerArithmeticCheck.cpp | ||
ProBoundsPointerArithmeticCheck.h | ||
ProTypeConstCastCheck.cpp | ||
ProTypeConstCastCheck.h | ||
ProTypeCstyleCastCheck.cpp | ||
ProTypeCstyleCastCheck.h | ||
ProTypeReinterpretCastCheck.cpp | ||
ProTypeReinterpretCastCheck.h | ||
ProTypeStaticCastDowncastCheck.cpp | ||
ProTypeStaticCastDowncastCheck.h | ||
ProTypeUnionAccessCheck.cpp | ||
ProTypeUnionAccessCheck.h | ||
ProTypeVarargCheck.cpp | ||
ProTypeVarargCheck.h |