r342679 - Fix an assert in -Wquoted-include-in-framework-header

Erik Pilkington via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 20 12:00:04 PDT 2018


Author: epilk
Date: Thu Sep 20 12:00:03 2018
New Revision: 342679

URL: http://llvm.org/viewvc/llvm-project?rev=342679&view=rev
Log:
Fix an assert in -Wquoted-include-in-framework-header

Fixes rdar://43692300

Differential revision: https://reviews.llvm.org/D52253

Added:
    cfe/trunk/test/Modules/Inputs/double-quotes/NotAFramework/
    cfe/trunk/test/Modules/Inputs/double-quotes/NotAFramework/Headers/
    cfe/trunk/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/
    cfe/trunk/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing1.h
    cfe/trunk/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing2.h
Modified:
    cfe/trunk/lib/Lex/HeaderSearch.cpp
    cfe/trunk/test/Modules/double-quotes.m

Modified: cfe/trunk/lib/Lex/HeaderSearch.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/HeaderSearch.cpp?rev=342679&r1=342678&r2=342679&view=diff
==============================================================================
--- cfe/trunk/lib/Lex/HeaderSearch.cpp (original)
+++ cfe/trunk/lib/Lex/HeaderSearch.cpp Thu Sep 20 12:00:03 2018
@@ -648,7 +648,7 @@ static bool isFrameworkStylePath(StringR
     ++I;
   }
 
-  return FoundComp >= 2;
+  return !FrameworkName.empty() && FoundComp >= 2;
 }
 
 static void

Added: cfe/trunk/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing1.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing1.h?rev=342679&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing1.h (added)
+++ cfe/trunk/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing1.h Thu Sep 20 12:00:03 2018
@@ -0,0 +1 @@
+#include "Thing2.h"

Added: cfe/trunk/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing2.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing2.h?rev=342679&view=auto
==============================================================================
--- cfe/trunk/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing2.h (added)
+++ cfe/trunk/test/Modules/Inputs/double-quotes/NotAFramework/Headers/Headers/Thing2.h Thu Sep 20 12:00:03 2018
@@ -0,0 +1 @@
+// Empty file!

Modified: cfe/trunk/test/Modules/double-quotes.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/double-quotes.m?rev=342679&r1=342678&r2=342679&view=diff
==============================================================================
--- cfe/trunk/test/Modules/double-quotes.m (original)
+++ cfe/trunk/test/Modules/double-quotes.m Thu Sep 20 12:00:03 2018
@@ -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 at Inputs/double-quotes/A.framework/Headers/A.h:1{{double-quoted include "A0.h" in framework header, expected angle-bracketed instead}}




More information about the cfe-commits mailing list