[clang][module] Improve incomplete-umbrella warning
[llvm-project.git] / clang / test / Modules / incomplete-umbrella.m
blob0574921203b2d048e09032369d3b57d2d292c76b
1 // RUN: rm -rf %t
2 // RUN: not %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F%S/Inputs/incomplete-umbrella -fsyntax-only %s 2>&1 | FileCheck %s
4 #import <Foo/Foo.h>
5 #import <Foo/Bar.h>
6 #import <Foo/Baz.h>
7 @import Foo.Private;
9 // CHECK: While building module 'Foo' imported from {{.*[/\]}}incomplete-umbrella.m:4:
10 // CHECK-NEXT: In file included from <module-includes>:1:
11 // CHECK-NEXT: {{.*Foo[.]framework[/\]Headers[/\]}}FooPublic.h:2:1: warning: umbrella header for module 'Foo' does not include header 'Bar.h'
12 // CHECK: While building module 'Foo' imported from {{.*[/\]}}incomplete-umbrella.m:4:
13 // CHECK-NEXT: In file included from <module-includes>:2:
14 // CHECK-NEXT: {{.*Foo[.]framework[/\]PrivateHeaders[/\]}}Foo.h:2:1: warning: umbrella header for module 'Foo.Private' does not include header 'Baz.h'
15 int foo() {
16   int a = BAR_PUBLIC;
17   int b = BAZ_PRIVATE;
18   return 0;