vsapsai added a comment.

Used the mechanism simpler than the one with headers 
<https://github.com/llvm/llvm-project/blob/8e3b9f453f9a4aef97cc9c5cb2501685cb53f633/clang/lib/Lex/PPDirectives.cpp#L2128-L2135>
 on purpose.

  // The #included file will be considered to be a system header if either it is
  // in a system include directory, or if the #includer is a system include
  // header.
  SrcMgr::CharacteristicKind FileCharacter =
      SourceMgr.getFileCharacteristic(FilenameTok.getLocation());
  if (File)
    FileCharacter = std::max(HeaderInfo.getFileDirFlavor(&File->getFileEntry()),
                             FileCharacter);

We aren't doing general-purpose module map search, only extern module maps 
based on relative or absolute paths. In practice we don't see system and 
non-system maps referencing each other, so I think anything more complicated 
isn't really justified. Though if people think we shouldn't propagate IsSystem 
for absolute paths, I'm fine with that complication.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111476/new/

https://reviews.llvm.org/D111476

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to