diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-12-05 17:40:25 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-12-05 17:40:25 +0000 |
commit | d8bd7537ec31090a1b0f4300d76da5fa21eea93f (patch) | |
tree | 3ec65d65f227ce7936395262f8527742aeeddbfb /clang/lib/Lex/ModuleMap.cpp | |
parent | 8c7c83522bd43949f369bb0dbf28b81f9c81f68c (diff) | |
download | llvm-d8bd7537ec31090a1b0f4300d76da5fa21eea93f.zip llvm-d8bd7537ec31090a1b0f4300d76da5fa21eea93f.tar.gz llvm-d8bd7537ec31090a1b0f4300d76da5fa21eea93f.tar.bz2 |
Inferred framework modules automatically export anything they import
(i.e., 'export *'), to better match the semantics of headers.
llvm-svn: 145813
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
-rw-r--r-- | clang/lib/Lex/ModuleMap.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp index 02848ee..6d227d0 100644 --- a/clang/lib/Lex/ModuleMap.cpp +++ b/clang/lib/Lex/ModuleMap.cpp @@ -197,9 +197,14 @@ ModuleMap::inferFrameworkModule(StringRef ModuleName, Module *Result = new Module(ModuleName, SourceLocation(), /*IsFramework=*/true); + // umbrella "umbrella-header-name" Result->UmbrellaHeader = UmbrellaHeader; Headers[UmbrellaHeader] = Result; UmbrellaDirs[FrameworkDir] = Result; + + // export * + Result->Exports.push_back(Module::ExportDecl(0, true)); + Modules[ModuleName] = Result; return Result; } |