1 // RUN: rm -rf %t
2 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs -x c++ -E %s | \
3 // RUN:   FileCheck -strict-whitespace %s --check-prefix=CHECK --check-prefix=CXX --check-prefix=CXX-DASHE
4 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs -x objective-c -E %s | \
5 // RUN:   FileCheck -strict-whitespace %s --check-prefix=CHECK --check-prefix=OBJC
6 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs -x c++ -E -frewrite-includes %s | \
7 // RUN:   FileCheck -strict-whitespace %s --check-prefix=CHECK --check-prefix=CXX
8 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs -x objective-c -E -frewrite-includes %s | \
9 // RUN:   FileCheck -strict-whitespace %s --check-prefix=CHECK --check-prefix=OBJC
10 #include "dummy.h"
11 #include "dummy.h"
12 foo bar baz
13 
14 // The weird {{ }} here is to prevent the -frewrite-includes test from matching its own CHECK lines.
15 
16 // CXX: #include{{ }}"dummy.h"
17 // CXX-DASHE-SAME: /* clang -E: implicit import for module dummy */
18 // CXX: #include{{ }}"dummy.h"
19 // CXX-DASHE-SAME: /* clang -E: implicit import for module dummy */
20 // CXX: foo bar baz
21 
22 // OBJC: @import{{ }}dummy; /* clang
23 // OBJC: @import{{ }}dummy; /* clang
24 // OBJC: foo bar baz
25