revert my patch for rdar://7520940 that warns when a published header
is #included with "foo.h" style syntax instead of framework syntax.
It produced too much noise.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94120 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/Basic/DiagnosticLexKinds.td b/include/clang/Basic/DiagnosticLexKinds.td
index 26a80b5..3f765bd 100644
--- a/include/clang/Basic/DiagnosticLexKinds.td
+++ b/include/clang/Basic/DiagnosticLexKinds.td
@@ -172,9 +172,6 @@
def err_pp_file_not_found : Error<"'%0' file not found">, DefaultFatal;
def err_pp_error_opening_file : Error<
"error opening file '%0': %1">, DefaultFatal;
-def warn_pp_relative_include_from_framework : Warning<
- "published framework headers should always #import headers within the "
- "framework with framework paths">, InGroup<DiagGroup<"framework-headers">>;
def err_pp_empty_filename : Error<"empty filename">;
def err_pp_include_too_deep : Error<"#include nested too deeply">;
def err_pp_expects_filename : Error<"expected \"FILENAME\" or <FILENAME>">;
diff --git a/include/clang/Lex/Preprocessor.h b/include/clang/Lex/Preprocessor.h
index ad85122..1e664c0 100644
--- a/include/clang/Lex/Preprocessor.h
+++ b/include/clang/Lex/Preprocessor.h
@@ -697,8 +697,7 @@
/// return null on failure. isAngled indicates whether the file reference is
/// for system #include's or not (i.e. using <> instead of "").
const FileEntry *LookupFile(llvm::StringRef Filename,
- SourceLocation FilenameTokLoc, bool isAngled,
- const DirectoryLookup *FromDir,
+ bool isAngled, const DirectoryLookup *FromDir,
const DirectoryLookup *&CurDir);
/// GetCurLookup - The DirectoryLookup structure used to find the current
diff --git a/lib/Lex/PPDirectives.cpp b/lib/Lex/PPDirectives.cpp
index dc5b204..b0e784b 100644
--- a/lib/Lex/PPDirectives.cpp
+++ b/lib/Lex/PPDirectives.cpp
@@ -402,7 +402,6 @@
/// return null on failure. isAngled indicates whether the file reference is
/// for system #include's or not (i.e. using <> instead of "").
const FileEntry *Preprocessor::LookupFile(llvm::StringRef Filename,
- SourceLocation FilenameTokLoc,
bool isAngled,
const DirectoryLookup *FromDir,
const DirectoryLookup *&CurDir) {
@@ -429,16 +428,7 @@
CurDir = CurDirLookup;
const FileEntry *FE =
HeaderInfo.LookupFile(Filename, isAngled, FromDir, CurDir, CurFileEnt);
- if (FE) {
- // Warn about normal quoted #include from framework headers. Since
- // framework headers are published (both public and private ones) they
- // should not do relative searches, they should do an include with the
- // framework path included.
- if (!isAngled && CurDir && FilenameTokLoc.isValid() &&
- CurDir->isFramework() && CurDir == CurDirLookup)
- Diag(FilenameTokLoc, diag::warn_pp_relative_include_from_framework);
- return FE;
- }
+ if (FE) return FE;
// Otherwise, see if this is a subframework header. If so, this is relative
// to one of the headers on the #include stack. Walk the list of the current
@@ -1079,8 +1069,7 @@
// Search include directories.
const DirectoryLookup *CurDir;
- const FileEntry *File = LookupFile(Filename, FilenameTok.getLocation(),
- isAngled, LookupFrom, CurDir);
+ const FileEntry *File = LookupFile(Filename, isAngled, LookupFrom, CurDir);
if (File == 0) {
Diag(FilenameTok, diag::err_pp_file_not_found) << Filename;
return;
diff --git a/lib/Lex/PPMacroExpansion.cpp b/lib/Lex/PPMacroExpansion.cpp
index 3792782..13aeb88 100644
--- a/lib/Lex/PPMacroExpansion.cpp
+++ b/lib/Lex/PPMacroExpansion.cpp
@@ -567,9 +567,7 @@
// Search include directories.
const DirectoryLookup *CurDir;
- const FileEntry *File = PP.LookupFile(Filename,
- SourceLocation(),// produce no warnings.
- isAngled, LookupFrom, CurDir);
+ const FileEntry *File = PP.LookupFile(Filename, isAngled, LookupFrom, CurDir);
// Get the result value. Result = true means the file exists.
Result = File != 0;
diff --git a/lib/Lex/Pragma.cpp b/lib/Lex/Pragma.cpp
index 856b3bd..63b23b6 100644
--- a/lib/Lex/Pragma.cpp
+++ b/lib/Lex/Pragma.cpp
@@ -301,8 +301,7 @@
// Search include directories for this file.
const DirectoryLookup *CurDir;
- const FileEntry *File = LookupFile(Filename, FilenameTok.getLocation(),
- isAngled, 0, CurDir);
+ const FileEntry *File = LookupFile(Filename, isAngled, 0, CurDir);
if (File == 0) {
Diag(FilenameTok, diag::err_pp_file_not_found) << Filename;
return;
diff --git a/test/Preprocessor/foo.framework/Headers/bar.h b/test/Preprocessor/foo.framework/Headers/bar.h
deleted file mode 100644
index 574e851..0000000
--- a/test/Preprocessor/foo.framework/Headers/bar.h
+++ /dev/null
@@ -1,3 +0,0 @@
-
-int y;
-
diff --git a/test/Preprocessor/foo.framework/Headers/foo.h b/test/Preprocessor/foo.framework/Headers/foo.h
deleted file mode 100644
index b08d948..0000000
--- a/test/Preprocessor/foo.framework/Headers/foo.h
+++ /dev/null
@@ -1,6 +0,0 @@
-// This should warn: published framework headers should always
-// #import headers within the framework with framework paths.
-#include "bar.h"
-
-int x;
-
diff --git a/test/Preprocessor/framework-include.m b/test/Preprocessor/framework-include.m
deleted file mode 100644
index 7e50f18..0000000
--- a/test/Preprocessor/framework-include.m
+++ /dev/null
@@ -1,5 +0,0 @@
-// RUN: %clang -E -F%S %s 2>&1 | grep "published framework headers should always #import headers within the framework with framework paths"
-
-// rdar://7520940
-#include <foo/foo.h>
-