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