]> granicus.if.org Git - clang/commit
[modules] Add experimental -fmodule-map-file-home-is-cwd flag to -cc1.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Tue, 9 Dec 2014 03:20:04 +0000 (03:20 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Tue, 9 Dec 2014 03:20:04 +0000 (03:20 +0000)
commit59d05423ef08bc76eeedb88bb7bfa0b0e0415711
treeb1c23afe9b1e1b198fd142141cfd20b0481dcea8
parentcdd313d46ceeabc86ac1373714ab07fec65fc379
[modules] Add experimental -fmodule-map-file-home-is-cwd flag to -cc1.

For files named by -fmodule-map-file=, and files found by 'extern module'
directives, this flag specifies that we should resolve filenames relative to
the current working directory rather than relative to the directory in which
the module map file resides. This is aimed at fixing path handling, in
particular for relative -I paths, when building modules that represent
components of the current project (rather than libraries installed on the
current system, which the current project has as dependencies, where we'd
typically expect the module map files to be looked up implicitly).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223753 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
include/clang/Driver/CC1Options.td
include/clang/Lex/HeaderSearch.h
include/clang/Lex/HeaderSearchOptions.h
include/clang/Lex/ModuleMap.h
lib/Frontend/CompilerInvocation.cpp
lib/Lex/HeaderSearch.cpp
lib/Lex/ModuleMap.cpp
test/Modules/Inputs/modular_maps-moduleb-cwd.map [new file with mode: 0644]
test/Modules/Inputs/modular_maps/modulea-cwd.map [new file with mode: 0644]
test/Modules/Inputs/modular_maps/modulec-cwd.map [new file with mode: 0644]
test/Modules/Inputs/relative-dep-gen-cwd.modulemap [new file with mode: 0644]
test/Modules/modular_maps.cpp
test/Modules/relative-dep-gen.cpp