llvm / llvm/llvm-project

[Clang-tidy] bugprone-exception-escape is very slow

Open
#224,308 1 comment 0 reactions 0 assignees View on GitHub
clang-tidy performance
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

Following call stack was extracted from our profiler tool while running clang-tidy on a very large file.
This was profiled after +/- 25 minutes of CPU time.
Having this one check disabled reduces to +/- 100 seconds.
````
llvm::DenseMapIterator,llvm::detail::DenseMapPair,1>::makeBegin llvm\include\llvm\ADT\DenseMap.h 1304 0x7ff7b7b1b103
clang::tidy::utils::ExceptionAnalyzer::ExceptionInfo::merge clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 42 0x7ff7b894f0aa
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 635 0x7ff7b8951aee
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 641 0x7ff7b8951c23
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 641 0x7ff7b8951c23
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 641 0x7ff7b8951c23
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 641 0x7ff7b8951c23
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 641 0x7ff7b8951c23
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 641 0x7ff7b8951c23
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 641 0x7ff7b8951c23
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 641 0x7ff7b8951c23
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 641 0x7ff7b8951c23
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 641 0x7ff7b8951c23
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 641 0x7ff7b8951c23
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 641 0x7ff7b8951c23
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 641 0x7ff7b8951c23
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 634 0x7ff7b8951ae3
clang::tidy::utils::ExceptionAnalyzer::throwsException clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 488 0x7ff7b8950aa3
clang::tidy::utils::ExceptionAnalyzer::analyzeImpl clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 663 0x7ff7b89520f5
clang::tidy::utils::ExceptionAnalyzer::analyzeDispatch clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 689 0x7ff7b8952391
clang::tidy::utils::ExceptionAnalyzer::analyze clang-tools-extra\clang-tidy\utils\ExceptionAnalyzer.cpp 702 0x7ff7b895236d
clang::tidy::bugprone::ExceptionEscapeCheck::check clang-tools-extra\clang-tidy\bugprone\ExceptionEscapeCheck.cpp 142 0x7ff7b7b192e9
clang::ast_matchers::internal::`anonymous namespace'::MatchASTVisitor::MatchVisitor::visitMatch clang\lib\ASTMatchers\ASTMatchFinder.cpp 1273 0x7ff7b79206ff
clang::ast_matchers::internal::BoundNodesTreeBuilder::visitMatches clang\lib\ASTMatchers\ASTMatchersInternal.cpp 104 0x7ff7b814a85b
clang::ast_matchers::internal::`anonymous namespace'::MatchASTVisitor::matchWithFilter clang\lib\ASTMatchers\ASTMatchFinder.cpp 1070 0x7ff7b791fd20
clang::ast_matchers::internal::`anonymous namespace'::MatchASTVisitor::TraverseDecl clang\lib\ASTMatchers\ASTMatchFinder.cpp 1540 0x7ff7b7922ecd
clang::RecursiveASTVisitor::TraverseDeclContextHelper clang\include\clang\AST\RecursiveASTVisitor.h 1653 0x7ff7b7942be1
clang::RecursiveASTVisitor::TraverseTranslationUnitDecl clang\include\clang\AST\RecursiveASTVisitor.h 1773 0x7ff7b79236a3
clang::RecursiveASTVisitor::TraverseDecl build\production-windows\tools\clang\include\clang\AST\DeclNodes.inc 24 0x7ff7b7922f45
clang::ast_matchers::internal::`anonymous namespace'::MatchASTVisitor::TraverseDecl clang\lib\ASTMatchers\ASTMatchFinder.cpp 1540 0x7ff7b7922ed8
clang::ast_matchers::MatchFinder::matchAST clang\lib\ASTMatchers\ASTMatchFinder.cpp 1793 0x7ff7b78ec4e2
clang::MultiplexConsumer::HandleTranslationUnit clang\lib\Frontend\MultiplexConsumer.cpp 345 0x7ff7b79538dc
clang::ParseAST clang\lib\Parse\ParseAST.cpp 183 0x7ff7b8685327
clang::FrontendAction::Execute clang\lib\Frontend\FrontendAction.cpp 1348 0x7ff7b79bf923
clang::CompilerInstance::ExecuteAction clang\lib\Frontend\CompilerInstance.cpp 1033 0x7ff7b82fe59c
clang::tooling::FrontendActionFactory::runInvocation clang\lib\Tooling\Tooling.cpp 459 0x7ff7b7961a23
clang::tidy::runClangTidy::ActionFactory::runInvocation clang-tools-extra\clang-tidy\ClangTidy.cpp 639 0x7ff7b77e9d4a
clang::tooling::ToolInvocation::runInvocation clang\lib\Tooling\Tooling.cpp 439 0x7ff7b79618b0
clang::tooling::ToolInvocation::run clang\lib\Tooling\Tooling.cpp 424 0x7ff7b796048e
clang::tooling::ClangTool::run clang\lib\Tooling\Tooling.cpp 631 0x7ff7b79634ca
clang::tidy::runClangTidy clang-tools-extra\clang-tidy\ClangTidy.cpp 663 0x7ff7b77e3f1f
clang::tidy::clangTidyMain clang-tools-extra\clang-tidy\tool\ClangTidyMain.cpp 743 0x7ff7b7792eaa
__scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl 288 0x7ff7bab4ab24
BaseThreadInitThunk KERNEL32 [unknown] 0 0x7ffa723f4cb0
RtlUserThreadStart ntdll [unknown] 0 0x7ffa736dedeb
````

Our configuration:
````
bugprone-exception-escape.CheckDestructors: true
bugprone-exception-escape.CheckMain: true
bugprone-exception-escape.CheckMoveMemberFunctions: true
bugprone-exception-escape.CheckNothrowFunctions: true
bugprone-exception-escape.CheckedSwapFunctions: swap,iter_swap,iter_move
bugprone-exception-escape.FunctionsThatShouldNotThrow: ''
bugprone-exception-escape.IgnoredExceptions: ''
bugprone-exception-escape.TreatFunctionsWithoutSpecificationAsThrowing: None
````
This is the default of the check.

I'm busy with reduction, though it requires a lot of time

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the report with clang-tidy on a very large file and inspect the profiler stack through clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp. Read ExceptionInfo::merge and the throwsException entry points around the reported lines; done means the check no longer dominates runtime while retaining its existing behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers, performance, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.