Clang Project

clang_source_code/test/Driver/header-module.cpp
1// Check compiling a header module to a .pcm file.
2//
3// RUN: %clang -fmodules-ts -fmodule-name=foobar -x c++-header --precompile %S/Inputs/header1.h %S/Inputs/header2.h %S/Inputs/header3.h -o %t.pcm -v 2>&1 | FileCheck %s --check-prefix=CHECK-PRECOMPILE
4//
5// CHECK-PRECOMPILE: -cc1 {{.*}} -emit-header-module
6// CHECK-PRECOMPILE-SAME: -fmodules-ts
7// CHECK-PRECOMPILE-SAME: -fno-implicit-modules
8// CHECK-PRECOMPILE-SAME: -fmodule-name=foobar
9// CHECK-PRECOMPILE-SAME: -o {{.*}}.pcm
10// CHECK-PRECOMPILE-SAME: -x c++-header
11// CHECK-PRECOMPILE-SAME: header1.h
12// CHECK-PRECOMPILE-SAME: header2.h
13// CHECK-PRECOMPILE-SAME: header3.h
14//
15// RUN: %clang -fmodules-ts -fmodule-name=foobar -x c++-header -fsyntax-only %S/Inputs/header1.h %S/Inputs/header2.h %S/Inputs/header3.h -v 2>&1 | FileCheck %s --check-prefix=CHECK-SYNTAX-ONLY
16// CHECK-SYNTAX-ONLY: -cc1 {{.*}} -fsyntax-only
17// CHECK-SYNTAX-ONLY-SAME: -fmodules-ts
18// CHECK-SYNTAX-ONLY-SAME: -fno-implicit-modules
19// CHECK-SYNTAX-ONLY-SAME: -fmodule-name=foobar
20// CHECK-SYNTAX-ONLY-NOT: -o{{ }}
21// CHECK-SYNTAX-ONLY-SAME: -x c++-header
22// CHECK-SYNTAX-ONLY-SAME: header1.h
23// CHECK-SYNTAX-ONLY-SAME: header2.h
24// CHECK-SYNTAX-ONLY-SAME: header3.h
25