3 // Run with -verify, which onliy gets remarks from the main TU.
5 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t1 \
6 // RUN: -fdisable-module-hash -fsyntax-only -I%S/Inputs/Rmodule-import \
7 // RUN: -Rmodule-build -Rmodule-import -verify %s
9 // Run again, using FileCheck to check remarks from the module builds.
11 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t2 \
12 // RUN: -fdisable-module-hash -fsyntax-only -I%S/Inputs/Rmodule-import \
13 // RUN: -Rmodule-build -Rmodule-import %s 2>&1 |\
14 // RUN: FileCheck %s -implicit-check-not "remark:"
17 expected-remark-re{{building module 'A' as '{{.*[/\\]}}A.pcm'}} \
18 expected-remark{{finished building module 'A'}} \
19 expected-remark-re{{importing module 'A' from '{{.*[/\\]}}A.pcm'}} \
20 expected-remark-re{{importing module 'B' into 'A' from '{{.*[/\\]}}B.pcm'}} \
21 expected-remark-re{{importing module 'C' into 'B' from '{{.*[/\\]}}C.pcm'}}
22 // CHECK: remark: building module 'A'
23 // CHECK: remark: building module 'B'
24 // CHECK: remark: building module 'C'
25 // CHECK: remark: finished building module 'C'
26 // CHECK: remark: importing module 'C' from '{{.*[/\\]}}C.pcm'
27 // CHECK: remark: finished building module 'B'
28 // CHECK: remark: importing module 'B' from '{{.*[/\\]}}B.pcm'
29 // CHECK: remark: importing module 'C' into 'B' from '{{.*[/\\]}}C.pcm'
30 // CHECK: remark: finished building module 'A'
31 // CHECK: remark: importing module 'A' from '{{.*[/\\]}}A.pcm'
32 // CHECK: remark: importing module 'B' into 'A' from '{{.*[/\\]}}B.pcm'
33 // CHECK: remark: importing module 'C' into 'B' from '{{.*[/\\]}}C.pcm'
35 expected-remark-re{{importing module 'B' from '{{.*[/\\]}}B.pcm'}}
36 // CHECK: remark: importing module 'B' from '{{.*[/\\]}}B.pcm'
38 expected-remark-re{{importing module 'C' from '{{.*[/\\]}}C.pcm'}}
39 // CHECK: remark: importing module 'C' from '{{.*[/\\]}}C.pcm'
41 expected-remark-re{{building module 'D' as '{{.*[/\\]}}D.pcm'}} \
42 expected-remark{{finished building module 'D'}} \
43 expected-remark-re{{importing module 'D' from '{{.*[/\\]}}D.pcm'}}
44 // CHECK: remark: building module 'D'
45 // CHECK: remark: finished building module 'D'
46 // CHECK: remark: importing module 'D' from '{{.*[/\\]}}D.pcm'