Clang Project

clang_source_code/test/Modules/relative-import-path.c
1// RUN: rm -rf %t
2// RUN: cp -r %S/Inputs/relative-import-path %t
3// RUN: cp %s %t/t.c
4
5// Use FileCheck, which is more flexible.
6//
7// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/cache \
8// RUN:     -fdisable-module-hash -fsyntax-only \
9// RUN:     -I%S/Inputs/relative-import-path \
10// RUN:     -working-directory=%t \
11// RUN:     -Rmodule-build -Rmodule-import t.c 2>&1 |\
12// RUN: FileCheck %s -implicit-check-not "remark:" -DWORKDIR=%t
13
14#include "A.h" // \
15// CHECK: remark: building module 'A'
16// CHECK: remark: building module 'B'
17// CHECK: remark: building module 'C'
18// CHECK: remark: finished building module 'C'
19// CHECK: remark: importing module 'C' from '[[WORKDIR]]{{[/\\]cache[/\\]}}C.pcm'
20// CHECK: remark: finished building module 'B'
21// CHECK: remark: importing module 'B' from '[[WORKDIR]]{{[/\\]cache[/\\]}}B.pcm'
22// CHECK: remark: importing module 'C' into 'B' from '[[WORKDIR]]{{[/\\]cache[/\\]}}C.pcm'
23// CHECK: remark: finished building module 'A'
24// CHECK: remark: importing module 'A' from '[[WORKDIR]]{{[/\\]cache[/\\]}}A.pcm'
25// CHECK: remark: importing module 'B' into 'A' from '[[WORKDIR]]{{[/\\]cache[/\\]}}B.pcm'
26// CHECK: remark: importing module 'C' into 'B' from '[[WORKDIR]]{{[/\\]cache[/\\]}}C.pcm'
27