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
3
4#import <Foo/Foo.h>
5#import <Foo/Bar.h>
6#import <Foo/Baz.h>
7@import Foo.Private;
8
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'
15int foo() {
16  int a = BAR_PUBLIC;
17  int b = BAZ_PRIVATE;
18  return 0;
19}
20