llvm-project/clang-tools-extra/clang-tidy
Ilya Biryukov 929af67361 [Lex] Allow to consume tokens while preprocessing
Summary:
By adding a hook to consume all tokens produced by the preprocessor.
The intention of this change is to make it possible to consume the
expanded tokens without re-runnig the preprocessor with minimal changes
to the preprocessor and minimal performance penalty when preprocessing
without recording the tokens.

The added hook is very low-level and reconstructing the expanded token
stream requires more work in the client code, the actual algorithm to
collect the tokens using this hook can be found in the follow-up change.

Reviewers: rsmith

Reviewed By: rsmith

Subscribers: eraman, nemanjai, kbarton, jsji, riccibruno, cfe-commits

Tags: #clang

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

llvm-svn: 361007
2019-05-17 09:32:05 +00:00
..
abseil [clang-tidy] Move all checks to the new registerPPCallbacks API 2019-03-22 18:58:12 +00:00
android [clang-tidy] Switch checks to #include "ClangTidyCheck.h" 2019-03-25 12:38:26 +00:00
boost [clang-tidy] Switch checks to #include "ClangTidyCheck.h" 2019-03-25 12:38:26 +00:00
bugprone [clang-tidy] new check: bugprone-branch-clone 2019-05-15 15:06:25 +00:00
cert [clang-tidy] Switch checks to #include "ClangTidyCheck.h" 2019-03-25 12:38:26 +00:00
cppcoreguidelines [clang-tidy] Don't issue cppcoreguidelines-macro-usage on builtin macros 2019-04-17 22:35:36 +00:00
fuchsia [clang-tidy] Switch checks to #include "ClangTidyCheck.h" 2019-03-25 12:38:26 +00:00
google [clang-tidy] Switch checks to #include "ClangTidyCheck.h" 2019-03-25 12:38:26 +00:00
hicpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm [clang-tidy] Change the namespace for llvm checkers from 'llvm' to 'llvm_check' 2019-05-10 18:27:09 +00:00
misc [clang-tidy] Add fix descriptions to clang-tidy checks. 2019-04-17 12:53:59 +00:00
modernize [Lex] Allow to consume tokens while preprocessing 2019-05-17 09:32:05 +00:00
mpi [clang-tidy] Switch checks to #include "ClangTidyCheck.h" 2019-03-25 12:38:26 +00:00
objc [clang-tidy] Add a check for [super self] in initializers 🔍 2019-04-17 22:29:06 +00:00
openmp [clang-tidy] openmp-exception-escape check: point to the structured-block 2019-05-05 21:26:32 +00:00
performance [clang-tidy] Switch checks to #include "ClangTidyCheck.h" 2019-03-25 12:38:26 +00:00
plugin [clang-tidy] A new OpenMP module 2019-03-22 19:46:01 +00:00
portability [clang-tidy] Switch checks to #include "ClangTidyCheck.h" 2019-03-25 12:38:26 +00:00
readability [clang-tidy] Handle member variables in readability-simplify-boolean-expr 2019-05-16 12:35:00 +00:00
tool [clang-tidy] Removed superfluous and slightly annoying newlines in run-clang-tidy's output. 2019-05-16 12:39:22 +00:00
utils [clang-tidy] openmp-exception-escape - a new check 2019-03-22 19:46:25 +00:00
zircon [clang-tidy] Switch checks to #include "ClangTidyCheck.h" 2019-03-25 12:38:26 +00:00
CMakeLists.txt [clang-tidy] Separate the check-facing interface 2019-03-25 12:36:30 +00:00
ClangTidy.cpp [clang-tidy] Address post-commit comments 2019-04-18 14:18:14 +00:00
ClangTidy.h [clang-tidy] Separate the check-facing interface 2019-03-25 12:36:30 +00:00
ClangTidyCheck.cpp [clang-tidy] Separate the check-facing interface 2019-03-25 12:36:30 +00:00
ClangTidyCheck.h [clang-tidy] Remove the old ClangTidyCheck::registerPPCallbacks method 2019-04-03 14:03:43 +00:00
ClangTidyDiagnosticConsumer.cpp [clang-tidy] Add fix descriptions to clang-tidy checks. 2019-04-17 12:53:59 +00:00
ClangTidyDiagnosticConsumer.h [clang-tidy] NOLINT support for "clang-diagnostic-*". 2019-03-12 16:11:46 +00:00
ClangTidyForceLinker.h [clang-tidy] A new OpenMP module 2019-03-22 19:46:01 +00:00
ClangTidyModule.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ClangTidyModule.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ClangTidyModuleRegistry.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ClangTidyOptions.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ClangTidyOptions.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ClangTidyProfiling.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ClangTidyProfiling.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ExpandModularHeadersPPCallbacks.cpp [clang-tidy] Fix a compiler warning. 2019-03-22 15:07:18 +00:00
ExpandModularHeadersPPCallbacks.h [clang-tidy] Fix a compiler warning. 2019-03-22 15:07:18 +00:00
add_new_check.py [clang-tidy] Change the namespace for llvm checkers from 'llvm' to 'llvm_check' 2019-05-10 18:27:09 +00:00
rename_check.py [clang-tidy] Change the namespace for llvm checkers from 'llvm' to 'llvm_check' 2019-05-10 18:27:09 +00:00