]> granicus.if.org Git - clang/commit
[modules] Switch from inferring owning modules based on source location to
authorRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 18 May 2017 02:29:20 +0000 (02:29 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 18 May 2017 02:29:20 +0000 (02:29 +0000)
commitaaaa0b61427c26fec9adc47951a39d0367ce65e1
tree28a290a9eb5547cf42c709bf7501db090e65b8fa
parentd665e952bdf8d103e4d1765d80d81e28369617d3
[modules] Switch from inferring owning modules based on source location to
inferring based on the current module at the point of creation.

This should result in no functional change except when building a preprocessed
module (or more generally when using #pragma clang module begin/end to switch
module in the middle of a file), in which case it allows us to correctly track
the owning module for declarations. We can't map from FileID to module in the
preprocessed module case, since all modules would have the same FileID.

There are still a couple of remaining places that try to infer a module from a
source location; I'll clean those up in follow-up changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@303322 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
include/clang/AST/ASTContext.h
include/clang/AST/DeclBase.h
include/clang/Basic/LangOptions.h
include/clang/Sema/Sema.h
include/clang/Serialization/ASTWriter.h
lib/CodeGen/CGDebugInfo.cpp
lib/Sema/SemaDecl.cpp
lib/Sema/SemaLookup.cpp
lib/Sema/SemaTemplate.cpp
lib/Serialization/ASTWriter.cpp
lib/Serialization/ASTWriterDecl.cpp
test/Modules/preprocess-module.cpp
test/SemaCXX/modules-ts.cppm