diff options
| author | Erik Pilkington <erik.pilkington@gmail.com> | 2018-09-20 19:00:03 +0000 |
|---|---|---|
| committer | Erik Pilkington <erik.pilkington@gmail.com> | 2018-09-20 19:00:03 +0000 |
| commit | abacc253a7e9889fa91532c0252e9af9f3f93e4b (patch) | |
| tree | aeb97361efade6879e4004e27497a7931048f1bc /clang | |
| parent | 386ad01c7b6d83beb95267116af295471e36d426 (diff) | |
| download | bcm5719-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')
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}} |

