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

Volodymyr Sapsai via All-commits all-commits at lists.llvm.org
Thu Aug 10 14:53:22 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b070be82bb8fb4414a8a6eb4fbfc77921d89fa4b
      https://github.com/llvm/llvm-project/commit/b070be82bb8fb4414a8a6eb4fbfc77921d89fa4b
  Author: Volodymyr Sapsai <vsapsai at apple.com>
  Date:   2023-08-10 (Thu, 10 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 using the same separators for `-F` and `-I`
paths both in VFS overlay and on command line.

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