forked from OSchip/llvm-project
eeb71758cc
Summary: This check flags all use of c-style casts that perform a static_cast downcast, const_cast, or reinterpret_cast. Use of these casts can violate type safety and cause the program to access a variable that is actually of type X to be accessed as if it were of an unrelated type Z. Note that a C-style (T)expression cast means to perform the first of the following that is possible: a const_cast, a static_cast, a static_cast followed by a const_cast, a reinterpret_cast, or a reinterpret_cast followed by a const_cast. This rule bans (T)expression only when used to perform an unsafe cast. This rule is part of the "Type safety" profile of the C++ Core Guidelines, see https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#-type4-dont-use-c-style-texpression-casts-that-would-perform-a-static_cast-downcast-const_cast-or-reinterpret_cast. Reviewers: alexfh, sbenza, bkramer, aaron.ballman Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D14096 llvm-svn: 252425 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CppCoreGuidelinesTidyModule.cpp | ||
Makefile | ||
ProBoundsArrayToPointerDecayCheck.cpp | ||
ProBoundsArrayToPointerDecayCheck.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 |