[all-commits] [llvm/llvm-project] 8fb88f: [clang][modules] Separate parsing of modulemaps (#...

Michael Spencer via All-commits all-commits at lists.llvm.org
Wed Feb 26 14:33:12 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8fb88f568011fb916cda9d7927ac97c6751a8b89
      https://github.com/llvm/llvm-project/commit/8fb88f568011fb916cda9d7927ac97c6751a8b89
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2025-02-26 (Wed, 26 Feb 2025)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/Module.h
    M clang/include/clang/Lex/ModuleMap.h
    A clang/include/clang/Lex/ModuleMapFile.h
    M clang/lib/Lex/CMakeLists.txt
    M clang/lib/Lex/ModuleMap.cpp
    A clang/lib/Lex/ModuleMapFile.cpp
    M clang/test/Modules/Inputs/export_as_test.modulemap
    M clang/test/Modules/diagnostics.modulemap
    M clang/test/Modules/export_as_test.c

  Log Message:
  -----------
  [clang][modules] Separate parsing of modulemaps (#119740)

This separates out parsing of modulemaps from updating the
`clang::ModuleMap` information.

Currently this has no effect other than slightly changing diagnostics.
Upcoming changes will use this to allow searching for modules without
fully processing modulemaps.


This creates a new `modulemap` namespace because there are too many
things called ModuleMap* right now that mean different things. I'd like
to clean this up, but I'm not sure yet what I want to call everything.

This also drops the `SourceLocation` from `moduleMapFileRead`. This is
never used in tree, and in future patches I plan to make the modulemap
parser use a different `SourceManager` so that we can share modulemap
parsing between `CompilerInstance`s. This will make the `SourceLocation`
meaningless.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list