r335195 - Revert "Warning for framework headers using double quote includes"
Bruno Cardoso Lopes via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 20 18:23:51 PDT 2018
Author: bruno
Date: Wed Jun 20 18:23:51 2018
New Revision: 335195
URL: http://llvm.org/viewvc/llvm-project?rev=335195&view=rev
Log:
Revert "Warning for framework headers using double quote includes"
This reverts commit 9b5ff2db7e31c4bb11a7d468260b068b41c7c285.
Broke bots:
http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/11315
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/10411/steps/test-check-all/logs/stdio
Removed:
cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Headers/A.h
cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Headers/A0.h
cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Modules/module.modulemap
cfe/trunk/test/Modules/Inputs/double-quotes/B.h
cfe/trunk/test/Modules/Inputs/double-quotes/X.framework/Headers/X.h
cfe/trunk/test/Modules/Inputs/double-quotes/X.framework/Modules/module.modulemap
cfe/trunk/test/Modules/Inputs/double-quotes/a.hmap.json
cfe/trunk/test/Modules/Inputs/double-quotes/flat-header-path/Z.h
cfe/trunk/test/Modules/Inputs/double-quotes/flat-header-path/Z.modulemap
cfe/trunk/test/Modules/Inputs/double-quotes/x.hmap.json
cfe/trunk/test/Modules/Inputs/double-quotes/z.yaml
cfe/trunk/test/Modules/double-quotes.m
Modified:
cfe/trunk/include/clang/Basic/DiagnosticGroups.td
cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td
cfe/trunk/lib/Lex/HeaderSearch.cpp
Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=335195&r1=335194&r2=335195&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Wed Jun 20 18:23:51 2018
@@ -31,7 +31,6 @@ def AutoDisableVptrSanitizer : DiagGroup
def Availability : DiagGroup<"availability">;
def Section : DiagGroup<"section">;
def AutoImport : DiagGroup<"auto-import">;
-def FrameworkHdrQuotedInclude : DiagGroup<"quoted-include-in-framework-header">;
def CXX14BinaryLiteral : DiagGroup<"c++14-binary-literal">;
def CXXPre14CompatBinaryLiteral : DiagGroup<"c++98-c++11-compat-binary-literal">;
def GNUBinaryLiteral : DiagGroup<"gnu-binary-literal">;
Modified: cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td?rev=335195&r1=335194&r2=335195&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticLexKinds.td Wed Jun 20 18:23:51 2018
@@ -714,11 +714,6 @@ def warn_mmap_redundant_export_as : Warn
def err_mmap_submodule_export_as : Error<
"only top-level modules can be re-exported as public">;
-def warn_quoted_include_in_framework_header : Warning<
- "double-quoted include \"%0\" in framework header, "
- "expected angle-bracketed instead"
- >, InGroup<FrameworkHdrQuotedInclude>, DefaultIgnore;
-
def warn_auto_module_import : Warning<
"treating #%select{include|import|include_next|__include_macros}0 as an "
"import of module '%1'">, InGroup<AutoImport>, DefaultIgnore;
Modified: cfe/trunk/lib/Lex/HeaderSearch.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/HeaderSearch.cpp?rev=335195&r1=335194&r2=335195&view=diff
==============================================================================
--- cfe/trunk/lib/Lex/HeaderSearch.cpp (original)
+++ cfe/trunk/lib/Lex/HeaderSearch.cpp Wed Jun 20 18:23:51 2018
@@ -621,59 +621,6 @@ static const char *copyString(StringRef
return CopyStr;
}
-static bool isFrameworkStylePath(StringRef Path,
- SmallVectorImpl<char> &FrameworkName) {
- using namespace llvm::sys;
- path::const_iterator I = path::begin(Path);
- path::const_iterator E = path::end(Path);
-
- // Detect different types of framework style paths:
- //
- // ...Foo.framework/{Headers,PrivateHeaders}
- // ...Foo.framework/Versions/{A,Current}/{Headers,PrivateHeaders}
- // ...Foo.framework/Frameworks/Nested.framework/{Headers,PrivateHeaders}
- // ...<other variations with 'Versions' like in the above path>
- //
- // and some other variations among these lines.
- int FoundComp = 0;
- while (I != E) {
- if (I->endswith(".framework")) {
- FrameworkName.append(I->begin(), I->end());
- ++FoundComp;
- }
- if (*I == "Headers" || *I == "PrivateHeaders")
- ++FoundComp;
- ++I;
- }
-
- return FoundComp >= 2;
-}
-
-static void
-diagnoseFrameworkInclude(DiagnosticsEngine &Diags, SourceLocation IncludeLoc,
- StringRef Includer, StringRef IncludeFilename,
- const FileEntry *IncludeFE, bool isAngled = false,
- bool FoundByHeaderMap = false) {
- SmallString<128> FromFramework, ToFramework;
- if (!isFrameworkStylePath(Includer, FromFramework))
- return;
- bool IsIncludeeInFramework =
- isFrameworkStylePath(IncludeFE->getName(), ToFramework);
-
- if (!isAngled && !FoundByHeaderMap) {
- SmallString<128> NewInclude("<");
- if (IsIncludeeInFramework) {
- NewInclude += StringRef(ToFramework).drop_back(10); // drop .framework
- NewInclude += "/";
- }
- NewInclude += IncludeFilename;
- NewInclude += ">";
- Diags.Report(IncludeLoc, diag::warn_quoted_include_in_framework_header)
- << IncludeFilename
- << FixItHint::CreateReplacement(IncludeLoc, NewInclude);
- }
-}
-
/// LookupFile - Given a "foo" or \<foo> reference, look up the indicated file,
/// return null on failure. isAngled indicates whether the file reference is
/// for system \#include's or not (i.e. using <> instead of ""). Includers, if
@@ -775,12 +722,8 @@ const FileEntry *HeaderSearch::LookupFil
RelativePath->clear();
RelativePath->append(Filename.begin(), Filename.end());
}
- if (First) {
- diagnoseFrameworkInclude(Diags, IncludeLoc,
- IncluderAndDir.second->getName(), Filename,
- FE);
+ if (First)
return FE;
- }
// Otherwise, we found the path via MSVC header search rules. If
// -Wmsvc-include is enabled, we have to keep searching to see if we
@@ -891,12 +834,6 @@ const FileEntry *HeaderSearch::LookupFil
return MSFE;
}
- bool FoundByHeaderMap = !IsMapped ? false : *IsMapped;
- if (!Includers.empty())
- diagnoseFrameworkInclude(Diags, IncludeLoc,
- Includers.front().second->getName(), Filename,
- FE, isAngled, FoundByHeaderMap);
-
// Remember this location for the next lookup we do.
CacheLookup.HitIdx = i;
return FE;
Removed: cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Headers/A.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Headers/A.h?rev=335194&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Headers/A.h (original)
+++ cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Headers/A.h (removed)
@@ -1,6 +0,0 @@
-#include "A0.h"
-#include "B.h"
-
-#include "X.h"
-
-int foo();
Removed: cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Headers/A0.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Headers/A0.h?rev=335194&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Headers/A0.h (original)
+++ cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Headers/A0.h (removed)
@@ -1 +0,0 @@
-// double-quotes/A.framework/Headers/A0.h
Removed: cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Modules/module.modulemap
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Modules/module.modulemap?rev=335194&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Modules/module.modulemap (original)
+++ cfe/trunk/test/Modules/Inputs/double-quotes/A.framework/Modules/module.modulemap (removed)
@@ -1,5 +0,0 @@
-// double-quotes/A.framework/Modules/module.modulemap
-framework module A {
- header "A.h"
- header "A0.h"
-}
Removed: cfe/trunk/test/Modules/Inputs/double-quotes/B.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/double-quotes/B.h?rev=335194&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/double-quotes/B.h (original)
+++ cfe/trunk/test/Modules/Inputs/double-quotes/B.h (removed)
@@ -1 +0,0 @@
-// double-quotes/B.h
Removed: cfe/trunk/test/Modules/Inputs/double-quotes/X.framework/Headers/X.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/double-quotes/X.framework/Headers/X.h?rev=335194&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/double-quotes/X.framework/Headers/X.h (original)
+++ cfe/trunk/test/Modules/Inputs/double-quotes/X.framework/Headers/X.h (removed)
@@ -1 +0,0 @@
-// double-quotes/X.framework/Headers/X.h
Removed: cfe/trunk/test/Modules/Inputs/double-quotes/X.framework/Modules/module.modulemap
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/double-quotes/X.framework/Modules/module.modulemap?rev=335194&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/double-quotes/X.framework/Modules/module.modulemap (original)
+++ cfe/trunk/test/Modules/Inputs/double-quotes/X.framework/Modules/module.modulemap (removed)
@@ -1,4 +0,0 @@
-// double-quotes/X.framework/Modules/module.modulemap
-framework module X {
- header "X.h"
-}
Removed: cfe/trunk/test/Modules/Inputs/double-quotes/a.hmap.json
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/double-quotes/a.hmap.json?rev=335194&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/double-quotes/a.hmap.json (original)
+++ cfe/trunk/test/Modules/Inputs/double-quotes/a.hmap.json (removed)
@@ -1,6 +0,0 @@
-{
- "mappings" :
- {
- "A.h" : "A/A.h"
- }
-}
Removed: cfe/trunk/test/Modules/Inputs/double-quotes/flat-header-path/Z.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/double-quotes/flat-header-path/Z.h?rev=335194&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/double-quotes/flat-header-path/Z.h (original)
+++ cfe/trunk/test/Modules/Inputs/double-quotes/flat-header-path/Z.h (removed)
@@ -1 +0,0 @@
-#import "B.h" // Included from Z.h & A.h
Removed: cfe/trunk/test/Modules/Inputs/double-quotes/flat-header-path/Z.modulemap
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/double-quotes/flat-header-path/Z.modulemap?rev=335194&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/double-quotes/flat-header-path/Z.modulemap (original)
+++ cfe/trunk/test/Modules/Inputs/double-quotes/flat-header-path/Z.modulemap (removed)
@@ -1,4 +0,0 @@
-// double-quotes/flat-header-path/Z.modulemap
-framework module Z {
- header "Z.h"
-}
Removed: cfe/trunk/test/Modules/Inputs/double-quotes/x.hmap.json
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/double-quotes/x.hmap.json?rev=335194&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/double-quotes/x.hmap.json (original)
+++ cfe/trunk/test/Modules/Inputs/double-quotes/x.hmap.json (removed)
@@ -1,7 +0,0 @@
-
-{
- "mappings" :
- {
- "X.h" : "X/X.h"
- }
-}
Removed: cfe/trunk/test/Modules/Inputs/double-quotes/z.yaml
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/double-quotes/z.yaml?rev=335194&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/double-quotes/z.yaml (original)
+++ cfe/trunk/test/Modules/Inputs/double-quotes/z.yaml (removed)
@@ -1,28 +0,0 @@
-{
- 'version': 0,
- 'case-sensitive': 'false',
- 'roots': [
- {
- 'type': 'directory',
- 'name': "TEST_DIR/Z.framework/Headers",
- 'contents': [
- {
- 'type': 'file',
- 'name': "Z.h",
- 'external-contents': "TEST_DIR/flat-header-path/Z.h"
- }
- ]
- },
- {
- 'type': 'directory',
- 'name': "TEST_DIR/Z.framework/Modules",
- 'contents': [
- {
- 'type': 'file',
- 'name': "module.modulemap",
- 'external-contents': "TEST_DIR/flat-header-path/Z.modulemap"
- }
- ]
- }
- ]
-}
Removed: cfe/trunk/test/Modules/double-quotes.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/double-quotes.m?rev=335194&view=auto
==============================================================================
--- cfe/trunk/test/Modules/double-quotes.m (original)
+++ cfe/trunk/test/Modules/double-quotes.m (removed)
@@ -1,39 +0,0 @@
-// REQUIRES: shell
-
-// RUN: rm -rf %t
-// RUN: mkdir %t
-
-// RUN: hmaptool write %S/Inputs/double-quotes/a.hmap.json %t/a.hmap
-// RUN: hmaptool write %S/Inputs/double-quotes/x.hmap.json %t/x.hmap
-
-// RUN: sed -e "s:TEST_DIR:%S/Inputs/double-quotes:g" \
-// RUN: %S/Inputs/double-quotes/z.yaml > %t/z.yaml
-
-// The output with and without modules should be the same
-
-// RUN: %clang_cc1 \
-// RUN: -I %t/x.hmap -iquote %t/a.hmap -ivfsoverlay %t/z.yaml \
-// RUN: -F%S/Inputs/double-quotes -I%S/Inputs/double-quotes \
-// RUN: -Wquoted-include-in-framework-header -fsyntax-only %s -verify
-
-// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/cache \
-// RUN: -I %t/x.hmap -iquote %t/a.hmap -ivfsoverlay %t/z.yaml \
-// RUN: -F%S/Inputs/double-quotes -I%S/Inputs/double-quotes \
-// RUN: -Wquoted-include-in-framework-header -fsyntax-only %s \
-// RUN: 2>%t/stderr
-
-// The same warnings show up when modules is on but -verify doesn't get it
-// because they only show up under the module A building context.
-// RUN: FileCheck --input-file=%t/stderr %s
-// CHECK: double-quoted include "A0.h" in framework header, expected angle-bracketed instead
-// CHECK: double-quoted include "B.h" in framework header, expected angle-bracketed instead
-// CHECK: double-quoted include "B.h" in framework header, expected angle-bracketed instead
-
-#import "A.h"
-#import <Z/Z.h>
-
-int bar() { return foo(); }
-
-// expected-warning at Inputs/double-quotes/A.framework/Headers/A.h:1{{double-quoted include "A0.h" in framework header, expected angle-bracketed instead}}
-// expected-warning at Inputs/double-quotes/A.framework/Headers/A.h:2{{double-quoted include "B.h" in framework header, expected angle-bracketed instead}}
-// expected-warning at Inputs/double-quotes/flat-header-path/Z.h:1{{double-quoted include "B.h" in framework header, expected angle-bracketed instead}}
More information about the cfe-commits
mailing list