From d8bd7537ec31090a1b0f4300d76da5fa21eea93f Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Mon, 5 Dec 2011 17:40:25 +0000 Subject: Inferred framework modules automatically export anything they import (i.e., 'export *'), to better match the semantics of headers. llvm-svn: 145813 --- clang/lib/Lex/ModuleMap.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'clang/lib/Lex/ModuleMap.cpp') 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; } -- cgit v1.1