llvm-project/clang-tools-extra/clang-tidy/cppcoreguidelines
Matthias Gehre eeb71758cc [clang-tidy] add new check cppcoreguidelines-pro-type-cstyle-cast
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
2015-11-08 21:10:39 +00:00
..
CMakeLists.txt [clang-tidy] add new check cppcoreguidelines-pro-type-cstyle-cast 2015-11-08 21:10:39 +00:00
CppCoreGuidelinesTidyModule.cpp [clang-tidy] add new check cppcoreguidelines-pro-type-cstyle-cast 2015-11-08 21:10:39 +00:00
Makefile
ProBoundsArrayToPointerDecayCheck.cpp [clang-tidy] Add new check cppcoreguidelines-pro-bounds-array-to-pointer-decay 2015-10-26 21:56:02 +00:00
ProBoundsArrayToPointerDecayCheck.h [clang-tidy] Add new check cppcoreguidelines-pro-bounds-array-to-pointer-decay 2015-10-26 21:56:02 +00:00
ProBoundsPointerArithmeticCheck.cpp [clang-tidy] new check cppcoreguidelines-pro-bounds-pointer-arithmetic 2015-10-12 21:53:19 +00:00
ProBoundsPointerArithmeticCheck.h [clang-tidy] new check cppcoreguidelines-pro-bounds-pointer-arithmetic 2015-10-12 21:53:19 +00:00
ProTypeConstCastCheck.cpp Fixing links and reformatting code; NFC. 2015-10-07 20:33:36 +00:00
ProTypeConstCastCheck.h Fixing links and reformatting code; NFC. 2015-10-07 20:33:36 +00:00
ProTypeCstyleCastCheck.cpp [clang-tidy] add new check cppcoreguidelines-pro-type-cstyle-cast 2015-11-08 21:10:39 +00:00
ProTypeCstyleCastCheck.h [clang-tidy] add new check cppcoreguidelines-pro-type-cstyle-cast 2015-11-08 21:10:39 +00:00
ProTypeReinterpretCastCheck.cpp Fixing links and reformatting code; NFC. 2015-10-07 20:33:36 +00:00
ProTypeReinterpretCastCheck.h Fixing links and reformatting code; NFC. 2015-10-07 20:33:36 +00:00
ProTypeStaticCastDowncastCheck.cpp [clang-tidy] add check cppcoreguidelines-pro-type-static-cast-downcast 2015-10-12 20:46:53 +00:00
ProTypeStaticCastDowncastCheck.h [clang-tidy] add check cppcoreguidelines-pro-type-static-cast-downcast 2015-10-12 20:46:53 +00:00
ProTypeUnionAccessCheck.cpp [clang-tidy] add check cppcoreguidelines-pro-type-union-access 2015-10-16 18:46:30 +00:00
ProTypeUnionAccessCheck.h [clang-tidy] add check cppcoreguidelines-pro-type-union-access 2015-10-16 18:46:30 +00:00
ProTypeVarargCheck.cpp [clang-tidy] add check cppcoreguidelines-pro-type-vararg 2015-10-21 20:09:02 +00:00
ProTypeVarargCheck.h [clang-tidy] add check cppcoreguidelines-pro-type-vararg 2015-10-21 20:09:02 +00:00