llvm-project/clang-tools-extra/clang-tidy/bugprone
Adam Balogh d053f5c616 [clang-tidy] Optimize query in bugprone-exception-escape
Checking whether a functions throws indirectly may be very expensive because it
needs to visit its whole call graph. Therefore we should first check whether the
function is forbidden to throw and only check whether it throws afterward. This
also seems to solve bug https://bugs.llvm.org/show_bug.cgi?id=39167 where the
execution time is so long that it seems to hang.

Differential Revision: https://reviews.llvm.org/D53187

llvm-svn: 344444
2018-10-13 10:34:52 +00:00
..
ArgumentCommentCheck.cpp [clang-tidy] NFC refactor lexer-utils to be usable without ASTContext 2018-10-05 14:15:19 +00:00
ArgumentCommentCheck.h [clang-tidy] Move a few more checks from misc to bugprone. 2017-11-24 14:16:29 +00:00
AssertSideEffectCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
AssertSideEffectCheck.h [clang-tidy] Move a few more checks from misc to bugprone. 2017-11-24 14:16:29 +00:00
BoolPointerImplicitConversionCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
BoolPointerImplicitConversionCheck.h [clang-tidy] Move a few more checks from misc to bugprone. 2017-11-24 14:16:29 +00:00
BugproneTidyModule.cpp Revert "[clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length" 2018-10-13 09:30:58 +00:00
CMakeLists.txt Revert "[clang-tidy] New checker for not null-terminated result caused by strlen(), size() or equal length" 2018-10-13 09:30:58 +00:00
CopyConstructorInitCheck.cpp Port getLocEnd -> getEndLoc 2018-08-09 22:43:02 +00:00
CopyConstructorInitCheck.h [clang-tidy] Add a check for undelegated copy of base classes 2017-11-17 12:23:30 +00:00
DanglingHandleCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
DanglingHandleCheck.h [clang-tidy] rename_check.py misc-dangling-handle bugprone-dangling-handle 2017-11-24 09:52:05 +00:00
ExceptionEscapeCheck.cpp [clang-tidy] Optimize query in bugprone-exception-escape 2018-10-13 10:34:52 +00:00
ExceptionEscapeCheck.h [clang-tidy] Exception Escape Checker 2018-07-13 13:09:40 +00:00
FoldInitTypeCheck.cpp [clang-tidy] Move a few more checks from misc to bugprone. 2017-11-24 14:16:29 +00:00
FoldInitTypeCheck.h [clang-tidy] Move a few more checks from misc to bugprone. 2017-11-24 14:16:29 +00:00
ForwardDeclarationNamespaceCheck.cpp [clang-tidy] Move a few more checks from misc to bugprone. 2017-11-24 14:16:29 +00:00
ForwardDeclarationNamespaceCheck.h [clang-tidy] Move a few more checks from misc to bugprone. 2017-11-24 14:16:29 +00:00
ForwardingReferenceOverloadCheck.cpp Rename a few checks from misc- to bugprone-. 2018-02-28 14:47:20 +00:00
ForwardingReferenceOverloadCheck.h Rename a few checks from misc- to bugprone-. 2018-02-28 14:47:20 +00:00
InaccurateEraseCheck.cpp Port getLocEnd -> getEndLoc 2018-08-09 22:43:02 +00:00
InaccurateEraseCheck.h [clang-tidy] Move a few more checks from misc to bugprone. 2017-11-24 14:16:29 +00:00
IncorrectRoundingsCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
IncorrectRoundingsCheck.h Fixed filename in a comment. NFC 2018-03-15 08:26:58 +00:00
IntegerDivisionCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
IntegerDivisionCheck.h [clang-tidy] Add integer division check 2017-08-10 13:30:30 +00:00
LambdaFunctionNameCheck.cpp Fix up after clang r331155. 2018-04-30 05:26:07 +00:00
LambdaFunctionNameCheck.h Rename a few checks from misc- to bugprone-. 2018-02-28 14:47:20 +00:00
MacroParenthesesCheck.cpp [clang-tidy] rename_check.py {misc,bugprone}-macro-parentheses 2018-03-15 08:25:39 +00:00
MacroParenthesesCheck.h [clang-tidy] rename_check.py {misc,bugprone}-macro-parentheses 2018-03-15 08:25:39 +00:00
MacroRepeatedSideEffectsCheck.cpp Rename a few checks from misc- to bugprone-. 2018-02-28 14:47:20 +00:00
MacroRepeatedSideEffectsCheck.h Rename a few checks from misc- to bugprone-. 2018-02-28 14:47:20 +00:00
MisplacedOperatorInStrlenInAllocCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
MisplacedOperatorInStrlenInAllocCheck.h [clang-tidy] Misplaced Operator in Strlen in Alloc 2017-11-23 12:33:12 +00:00
MisplacedWideningCastCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
MisplacedWideningCastCheck.h Rename a few checks from misc- to bugprone-. 2018-02-28 14:47:20 +00:00
MoveForwardingReferenceCheck.cpp Port getLocEnd -> getEndLoc 2018-08-09 22:43:02 +00:00
MoveForwardingReferenceCheck.h [clang-tidy] Move a few more checks from misc to bugprone. 2017-11-24 14:16:29 +00:00
MultipleStatementMacroCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
MultipleStatementMacroCheck.h [clang-tidy] Move a few more checks from misc to bugprone. 2017-11-24 14:16:29 +00:00
ParentVirtualCallCheck.cpp [clang-tidy] Fix ParentVirtualCallCheck for old MSVS compilers 2018-04-13 08:43:47 +00:00
ParentVirtualCallCheck.h [clang-tidy] Check if grand-..parent's virtual method was called instead of overridden parent's. 2018-04-06 20:02:50 +00:00
SizeofContainerCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
SizeofContainerCheck.h [clang-tidy] rename_check.py misc-sizeof-container bugprone-sizeof-container 2018-03-15 08:26:47 +00:00
SizeofExpressionCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
SizeofExpressionCheck.h [clang-tidy] Check for sizeof that call functions 2018-04-03 15:10:24 +00:00
StringConstructorCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
StringConstructorCheck.h [clang-tidy] rename_check.py misc-string-constructor bugprone-string-constructor 2017-11-23 13:49:14 +00:00
StringIntegerAssignmentCheck.cpp Port getLocEnd -> getEndLoc 2018-08-09 22:43:02 +00:00
StringIntegerAssignmentCheck.h Rename more checks from misc- to bugprone-. 2018-02-28 23:30:29 +00:00
StringLiteralWithEmbeddedNulCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
StringLiteralWithEmbeddedNulCheck.h Rename more checks from misc- to bugprone-. 2018-02-28 23:30:29 +00:00
SuspiciousEnumUsageCheck.cpp Rename more checks from misc- to bugprone-. 2018-02-28 23:30:29 +00:00
SuspiciousEnumUsageCheck.h Rename more checks from misc- to bugprone-. 2018-02-28 23:30:29 +00:00
SuspiciousMemsetUsageCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
SuspiciousMemsetUsageCheck.h
SuspiciousMissingCommaCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
SuspiciousMissingCommaCheck.h Rename more checks from misc- to bugprone-. 2018-02-28 23:30:29 +00:00
SuspiciousSemicolonCheck.cpp [clang-tidy] NFC refactor lexer-utils to be usable without ASTContext 2018-10-05 14:15:19 +00:00
SuspiciousSemicolonCheck.h [clang-tidy] Another batch of checks to rename from misc- to bugprone-. 2018-02-28 23:47:15 +00:00
SuspiciousStringCompareCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
SuspiciousStringCompareCheck.h [clang-tidy] Another batch of checks to rename from misc- to bugprone-. 2018-02-28 23:47:15 +00:00
SwappedArgumentsCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
SwappedArgumentsCheck.h [clang-tidy] Another batch of checks to rename from misc- to bugprone-. 2018-02-28 23:47:15 +00:00
TerminatingContinueCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
TerminatingContinueCheck.h [clang-tidy] Add terminating continue check 2018-05-14 10:10:02 +00:00
ThrowKeywordMissingCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
ThrowKeywordMissingCheck.h [clang-tidy] New checker for exceptions that are created but not thrown 2018-02-15 09:08:51 +00:00
UndefinedMemoryManipulationCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
UndefinedMemoryManipulationCheck.h
UndelegatedConstructorCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
UndelegatedConstructorCheck.h [clang-tidy] Another batch of checks to rename from misc- to bugprone-. 2018-02-28 23:47:15 +00:00
UnusedRaiiCheck.cpp Port getLocEnd -> getEndLoc 2018-08-09 22:43:02 +00:00
UnusedRaiiCheck.h [clang-tidy] rename_check.py misc-unused-raii bugprone-unused-raii --check_class_name=UnusedRAIICheck 2018-03-15 08:27:42 +00:00
UnusedReturnValueCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
UnusedReturnValueCheck.h [clang-tidy] New check bugprone-unused-return-value 2018-03-19 13:02:32 +00:00
UseAfterMoveCheck.cpp [clang-tidy] Sequence statements with multiple parents correctly (PR39149) 2018-10-04 11:36:39 +00:00
UseAfterMoveCheck.h [clang-tidy] Move a few more checks from misc to bugprone. 2017-11-24 14:16:29 +00:00
VirtualNearMissCheck.cpp Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
VirtualNearMissCheck.h [clang-tidy] Move a few more checks from misc to bugprone. 2017-11-24 14:16:29 +00:00