1 // RUN: rm -rf %t
2 
3 // RUN: not %clang_cc1 -fmodules -fmodule-name=file -I%S/Inputs/preprocess -x c++-module-map %S/Inputs/preprocess/module.modulemap -E 2>&1 | FileCheck %s --check-prefix=MISSING-FWD
4 // MISSING-FWD: module 'fwd' is needed
5 
6 // RUN: %clang_cc1 -fmodules -fmodule-name=file -fmodules-cache-path=%t -I%S/Inputs/preprocess -x c++-module-map %S/Inputs/preprocess/module.modulemap -E | FileCheck %s
7 // CHECK: # 1 "<module-includes>"
8 // CHECK: # 1 "{{.*}}file.h" 1
9 // CHECK: struct __FILE;
10 // CHECK: #pragma clang module import fwd /* clang -E: implicit import for #include "fwd.h" */
11 // CHECK: typedef struct __FILE FILE;
12 // CHECK: # 2 "<module-includes>" 2
13