[all-commits] [llvm/llvm-project] 52c62d: Reland "[modules] Fix error about the same module ...

Volodymyr Sapsai via All-commits all-commits at lists.llvm.org
Wed Aug 16 18:27:43 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 52c62d46a0c8ebf6023233cabc5beb4ee2687c78
      https://github.com/llvm/llvm-project/commit/52c62d46a0c8ebf6023233cabc5beb4ee2687c78
  Author: Volodymyr Sapsai <vsapsai at apple.com>
  Date:   2023-08-16 (Wed, 16 Aug 2023)

  Changed paths:
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/VFS/module-map-path.m

  Log Message:
  -----------
  Reland "[modules] Fix error about the same module being defined in different .pcm files when using VFS overlays."

Fixing Windows buildbot by not using "BuildTemporaries/module.modulemap"
because it is interpreted as defining a module in "BuildTemporaries" directory.

Fix errors like
> module 'MultiPath' is defined in both 'path/to/modules.cache/3JR48BPRU7BCG/MultiPath-1352QHUF8RNMU.pcm' and 'path/to/modules.cache/3JR48BPRU7BCG/MultiPath-20HNSLLIUDDV1.pcm'

To avoid building extra identical modules `-ivfsoverlay` option is not a
part of the hash like "/3JR48BPRU7BCG/". And it is build system's
responsibility to provide `-ivfsoverlay` options that don't cause
observable differences.  We also need to make sure the hash like
"-1352QHUF8RNMU" is not affected by `-ivfsoverlay`. As this hash is
defined by the module map path, use the path prior to any VFS
remappings.

rdar://111921464

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




More information about the All-commits mailing list