[clang] [Clang][Preprocessor] Unify header-name lookahead for import and include (PR #191004)

Jessica Clarke via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 5 10:50:58 PDT 2026


jrtc27 wrote:

I'm seeing:
```
/local/scratch/jrtc4/cheri/upstream-llvm-project/clang/lib/Lex/Lexer.cpp: In member function ‘bool clang::Lexer::LexDependencyDirectiveToken(clang::Token&)’:
/local/scratch/jrtc4/cheri/upstream-llvm-project/clang/lib/Lex/Lexer.cpp:4702:21: error: reference to ‘Token’ is ambiguous                                                                                                                                   
 4702 |     Result.setFlag((Token::TokenFlags)DDTok.Flags);                                                                                                                                                                                                  
      |                     ^~~~~                                                                                             
In file included from /local/scratch/jrtc4/cheri/upstream-llvm-project/clang/include/clang/Lex/PreprocessorLexer.h:20,        
                 from /local/scratch/jrtc4/cheri/upstream-llvm-project/clang/include/clang/Lex/Lexer.h:20,                    
                 from /local/scratch/jrtc4/cheri/upstream-llvm-project/clang/lib/Lex/Lexer.cpp:13:                            
/local/scratch/jrtc4/cheri/upstream-llvm-project/clang/include/clang/Lex/Token.h:36:7: note: candidates are: ‘class clang::Token’                                                                                                                 
   36 | class Token {                                                                                                                                                                                                                                        
      |       ^~~~~                                                                                                           
In file included from /local/scratch/jrtc4/cheri/upstream-llvm-project/clang/include/clang/Lex/Lexer.h:19,                                                                                                                                                   
                 from /local/scratch/jrtc4/cheri/upstream-llvm-project/clang/lib/Lex/Lexer.cpp:13:                            
/local/scratch/jrtc4/cheri/upstream-llvm-project/clang/include/clang/Lex/DependencyDirectivesScanner.h:35:8: note:                 ‘struct clang::dependency_directives_scan::Token’                                                                         
   35 | struct Token {                                                                                                        
      |        ^~~~~                                                                                                                                                                                                                                         
/local/scratch/jrtc4/cheri/upstream-llvm-project/clang/lib/Lex/Lexer.cpp:4703:22: error: reference to ‘Token’ is ambiguous                                                                                                                                   
 4703 |     Result.clearFlag(Token::NeedsCleaning);                                                                                                                                                                                                          
      |                      ^~~~~                                                                                                                                                                                                                           
In file included from /local/scratch/jrtc4/cheri/upstream-llvm-project/clang/include/clang/Lex/PreprocessorLexer.h:20,        
                 from /local/scratch/jrtc4/cheri/upstream-llvm-project/clang/include/clang/Lex/Lexer.h:20,                    
                 from /local/scratch/jrtc4/cheri/upstream-llvm-project/clang/lib/Lex/Lexer.cpp:13:                            
/local/scratch/jrtc4/cheri/upstream-llvm-project/clang/include/clang/Lex/Token.h:36:7: note: candidates are: ‘class clang::Token’                                                                                                                            
   36 | class Token {                                                                                                         
      |       ^~~~~                                                                                                           
In file included from /local/scratch/jrtc4/cheri/upstream-llvm-project/clang/include/clang/Lex/Lexer.h:19,                                                                                                                                                   
                 from /local/scratch/jrtc4/cheri/upstream-llvm-project/clang/lib/Lex/Lexer.cpp:13:                                                                                                                                                           
/local/scratch/jrtc4/cheri/upstream-llvm-project/clang/include/clang/Lex/DependencyDirectivesScanner.h:35:8: note:                 ‘struct clang::dependency_directives_scan::Token’
   35 | struct Token {                                                                                                                                                                                                                                       
      |        ^~~~~ 
```
which goes away after reverting 56dc58dc2550fa23f4c812d28c30d3d34de2e772. If this doesn't get fixed shortly I will be backing out the commit.

https://github.com/llvm/llvm-project/pull/191004


More information about the cfe-commits mailing list