diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-12-12 18:47:39 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-12-12 18:47:39 +0000 |
commit | d83d2e73fdbe425acc4cac7b8130c464cb98333d (patch) | |
tree | 513ff436ae1f71c2b1616a49a84ff34e2eaaedc2 | |
parent | c08e618f990e3a01a86ee221df73268a66664be8 (diff) |
Don't mark include guard macros as implicitly private. This isn't
actually a terribly good heuristic, and the world is too horrible for
it to work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146393 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Lex/PPLexerChange.cpp | 22 | ||||
-rw-r--r-- | test/Modules/Inputs/Module.framework/Frameworks/SubFramework.framework/Headers/SubFramework.h | 1 |
2 files changed, 2 insertions, 21 deletions
diff --git a/lib/Lex/PPLexerChange.cpp b/lib/Lex/PPLexerChange.cpp index 37b62a6d02..24dda4f84c 100644 --- a/lib/Lex/PPLexerChange.cpp +++ b/lib/Lex/PPLexerChange.cpp @@ -212,28 +212,8 @@ bool Preprocessor::HandleEndOfFile(Token &Result, bool isEndOfMacro) { CurPPLexer->MIOpt.GetControllingMacroAtEndOfFile()) { // Okay, this has a controlling macro, remember in HeaderFileInfo. if (const FileEntry *FE = - SourceMgr.getFileEntryForID(CurPPLexer->getFileID())) { + SourceMgr.getFileEntryForID(CurPPLexer->getFileID())) HeaderInfo.SetFileControllingMacro(FE, ControllingMacro); - - // Controlling macros are implicitly private. - if (MacroInfo *MI = getMacroInfo( - const_cast<IdentifierInfo *>(ControllingMacro))) { - if (MI->getVisibilityLocation().isInvalid()) { - // FIXME: HACK! Mark controlling macros from system headers as - // exported, along with our own Clang headers. This is a gross - // hack to deal with the fact that system headers are included in - // many places within module headers, but are not themselves - // modularized. - if ((StringRef(FE->getName()).find("lib/clang") - == StringRef::npos) && - (StringRef(FE->getName()).find("usr/include") - == StringRef::npos) && - (StringRef(FE->getName()).find("usr/local/include") - == StringRef::npos)) - MI->setVisibility(false, SourceLocation()); - } - } - } } } diff --git a/test/Modules/Inputs/Module.framework/Frameworks/SubFramework.framework/Headers/SubFramework.h b/test/Modules/Inputs/Module.framework/Frameworks/SubFramework.framework/Headers/SubFramework.h index 438fc9c516..a7b33f346e 100644 --- a/test/Modules/Inputs/Module.framework/Frameworks/SubFramework.framework/Headers/SubFramework.h +++ b/test/Modules/Inputs/Module.framework/Frameworks/SubFramework.framework/Headers/SubFramework.h @@ -1,4 +1,5 @@ #ifndef MODULE_SUBFRAMEWORK_H #define MODULE_SUBFRAMEWORK_H +#__private_macro__ MODULE_SUBFRAMEWORK_H char *module_subframework; #endif |