Warning for framework include violation from Headers to PrivateHeadersFramework vendors usually layout their framework headers in thefollowing way:Foo.framework/Headers -> "public" headersFoo.f
Warning for framework include violation from Headers to PrivateHeadersFramework vendors usually layout their framework headers in thefollowing way:Foo.framework/Headers -> "public" headersFoo.framework/PrivateHeader -> "private" headersSince both headers in both directories can be found with #import<Foo/some-header.h>, it's easy to make mistakes and include headers inFoo.framework/PrivateHeader from headers in Foo.framework/Headers, whichusually configures a layering violation on Darwin ecosystems. One of theproblem this causes is dep cycles when modules are used, since it's verycommon for "private" modules to include from the "public" ones; addingan edge the other way around will trigger cycles.Add a warning to catch those cases such that:./A.framework/Headers/A.h:1:10: warning: public framework header includes private framework header 'A/APriv.h'#include <A/APriv.h> ^rdar://problem/38712182llvm-svn: 335542
show more ...