1 // Test the output from -module-file-info about C++20 Modules
2 // can reflect macros definitions correctly.
5 // RUN: split-file %s %t
7 // RUN: %clang_cc1 -std=c++20 -emit-header-unit -xc++-user-header %t/foo.h -o %t/foo.pcm
8 // RUN: %clang_cc1 -module-file-info %t/foo.pcm | FileCheck %t/foo.h
10 // RUN: %clang_cc1 -std=c++20 -emit-header-unit -xc++-user-header %t/include_foo.h -o %t/include_foo.pcm
11 // RUN: %clang_cc1 -module-file-info %t/include_foo.pcm | FileCheck %t/include_foo.h
13 // RUN: %clang_cc1 -std=c++20 -emit-header-unit -xc++-user-header -fmodule-file=%t/foo.pcm \
14 // RUN: %t/import_foo.h -o %t/import_foo.pcm
15 // RUN: %clang_cc1 -module-file-info %t/import_foo.pcm | FileCheck %t/import_foo.h
17 // RUN: %clang_cc1 -std=c++20 %t/named_module.cppm -emit-module-interface -o %t/M.pcm
18 // RUN: %clang_cc1 -module-file-info %t/M.pcm | FileCheck %t/named_module.cppm
24 #define FUNC_Macro(X) (X+1)
29 #define CONDITIONAL_DEF
35 // CHECK: Macro Definitions:
36 // CHECK-DAG: REDEFINE
37 // CHECK-DAG: FUNC_Macro
38 // CHECK-DAG: CONSTANT
45 // CHECK: Macro Definitions:
46 // CHECK-DAG: CONSTANT
47 // CHECK-DAG: FUNC_Macro
54 // CHECK: Macro Definitions:
55 // CHECK-DAG: CONSTANT
56 // CHECK-DAG: FUNC_Macro
60 //--- named_module.cppm
65 // CHECK-NOT: Macro Definitions: