summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorErik Pilkington <erik.pilkington@gmail.com>2018-09-20 19:00:03 +0000
committerErik Pilkington <erik.pilkington@gmail.com>2018-09-20 19:00:03 +0000
commitabacc253a7e9889fa91532c0252e9af9f3f93e4b (patch)
treeaeb97361efade6879e4004e27497a7931048f1bc /clang
parent386ad01c7b6d83beb95267116af295471e36d426 (diff)
downloadbcm5719-llvm-abacc253a7e9889fa91532c0252e9af9f3f93e4b.tar.gz
bcm5719-llvm-abacc253a7e9889fa91532c0252e9af9f3f93e4b.zip
Fix an assert in -Wquoted-include-in-framework-header
Fixes rdar://43692300 Differential revision: https://reviews.llvm.org/D52253 llvm-svn: 342679
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Lex/HeaderSearch.cpp2
-rw-r--r--clang/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing1.h1
-rw-r--r--clang/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing2.h1
-rw-r--r--clang/test/Modules/double-quotes.m3
4 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Lex/HeaderSearch.cpp b/clang/lib/Lex/HeaderSearch.cpp
index 99b9cce7f45..c475336ca5b 100644
--- a/clang/lib/Lex/HeaderSearch.cpp
+++ b/clang/lib/Lex/HeaderSearch.cpp
@@ -648,7 +648,7 @@ static bool isFrameworkStylePath(StringRef Path, bool &IsPrivateHeader,
++I;
}
- return FoundComp >= 2;
+ return !FrameworkName.empty() && FoundComp >= 2;
}
static void
diff --git a/clang/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing1.h b/clang/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing1.h
new file mode 100644
index 00000000000..96212a03a11
--- /dev/null
+++ b/clang/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing1.h
@@ -0,0 +1 @@
+#include "Thing2.h"
diff --git a/clang/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing2.h b/clang/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing2.h
new file mode 100644
index 00000000000..7d1fe26edb0
--- /dev/null
+++ b/clang/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing2.h
@@ -0,0 +1 @@
+// Empty file!
diff --git a/clang/test/Modules/double-quotes.m b/clang/test/Modules/double-quotes.m
index a21f12fa5e5..8eec3657476 100644
--- a/clang/test/Modules/double-quotes.m
+++ b/clang/test/Modules/double-quotes.m
@@ -32,6 +32,9 @@
#import "A.h"
#import <Z/Z.h>
+// Make sure we correctly handle paths that resemble frameworks, but aren't.
+#import "NotAFramework/Headers/Headers/Thing1.h"
+
int bar() { return foo(); }
// expected-warning@Inputs/double-quotes/A.framework/Headers/A.h:1{{double-quoted include "A0.h" in framework header, expected angle-bracketed instead}}
OpenPOWER on IntegriCloud