Specifically, we want to warn only for direct layering violations for
the modules we are calling clang on.
This temporarily unblocks
http://llvm-reviews.chandlerc.com/D2374
Once that is in, we'll also want to investigate whether to check the
layering in the build step of modules that we build transitively.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197021
91177308-0d34-0410-b5e6-
96231b3b80d8
module XC {
header "c.h"
use XA
+ // Intentionally doesn't use XB to show that -fdecl-use isn't transitive.
}
module XD {
header "d.h"
use XA
+ // Intentionally doesn't use XB to show that -fdecl-use isn't transitive.
}
module XE {
// RUN: rm -rf %t
-// RUN: %clang_cc1 -x objective-c++ -fmodules-cache-path=%t -fmodules -fmodules-decluse -fmodule-name=XG -I %S/Inputs/declare-use %s -verify
+// RUN: %clang_cc1 -fmodule-maps -fmodules-cache-path=%t -fmodules-decluse -fmodule-name=XG -I %S/Inputs/declare-use %s -verify
#include "g.h"
#include "e.h"
// RUN: rm -rf %t
-// RUN: %clang_cc1 -x objective-c++ -fmodules-cache-path=%t -fmodules -fmodules-decluse -fmodule-name=XH -I %S/Inputs/declare-use %s -verify
+// RUN: %clang_cc1 -fmodule-maps -fmodules-cache-path=%t -fmodules-decluse -fmodule-name=XH -I %S/Inputs/declare-use %s -verify
#include "h.h"
#include "e.h"
-#include "f.h" // expected-error {{does not depend on a module exporting}}
+#include "f.h" // expected-error {{module XH does not depend on a module exporting 'f.h'}}
const int h2 = h1+e+f;