llvm-project/clang/lib
Richard Smith 75f9681874 Remove use of lookahead from _Pragma handling and from all other
internal lexing steps in the preprocessor.

It is not safe to use the preprocessor's token lookahead except when
operating on the final sequence of tokens that would be produced by
phase 4 of translation. Doing so corrupts the token lookahead cache used
by the parser. (See added testcase for an example.) Lookahead should
instead be viewed as a layer on top of the normal lexer.

Added assertions to catch any further incorrect uses of lookahead within
lexing actions.

llvm-svn: 358230
2019-04-11 21:18:22 +00:00
..
ARCMigrate Range-style std::find{,_if} -> llvm::find{,_if}. NFC 2019-03-31 08:48:19 +00:00
AST [clang][ASTContext] Try to exit early before loading serialized comments from AST files 2019-04-10 20:23:33 +00:00
ASTMatchers [ASTMatchers][OpenMP] OpenMP Structured-block-related matchers 2019-03-21 15:33:35 +00:00
Analysis Thread Safety: also look at ObjC methods 2019-03-25 20:06:32 +00:00
Basic [AMDGPU] rename vi-insts into gfx8-insts 2019-04-05 18:25:00 +00:00
CodeGen [DebugInfo] Combine Trivial and NonTrivial flags 2019-04-11 20:24:54 +00:00
CrossTU Changed every use of ASTImporter::Import to Import_New 2019-04-08 13:59:15 +00:00
Driver Add support for detection of devtoolset-8 2019-04-09 13:26:10 +00:00
Edit Range-style std::find{,_if} -> llvm::find{,_if}. NFC 2019-03-31 08:48:19 +00:00
Format [clang-format] Add AfterCaseLabel to BraceWrapping 2019-04-08 23:36:25 +00:00
Frontend Changed every use of ASTImporter::Import to Import_New 2019-04-08 13:59:15 +00:00
FrontendTool [analyzer][NFC] Supply CheckerRegistry with AnalyzerOptions 2019-01-26 15:59:21 +00:00
Headers Move the builtin headers to use the new license file header. 2019-04-08 20:51:30 +00:00
Index Range-style std::find{,_if} -> llvm::find{,_if}. NFC 2019-03-31 08:48:19 +00:00
Lex Remove use of lookahead from _Pragma handling and from all other 2019-04-11 21:18:22 +00:00
Parse Add support for attributes on @implementations in Objective-C 2019-04-11 17:55:30 +00:00
Rewrite Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Sema Add support for attributes on @implementations in Objective-C 2019-04-11 17:55:30 +00:00
Serialization Range-style std::find{,_if} -> llvm::find{,_if}. NFC 2019-03-31 08:48:19 +00:00
StaticAnalyzer [analyzer] NoStoreFuncVisitor: Suppress reports with no-store in system headers. 2019-04-05 20:18:53 +00:00
Tooling [Tooling] add a Heuristic field indicating that a CompileCommand was guessed. 2019-04-05 15:22:20 +00:00
CMakeLists.txt Add Cross Translation Unit support library 2017-09-22 11:11:01 +00:00