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" 12foo 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