xref: /llvm-project/clang/test/Driver/cxx20-header-units-02.cpp (revision 5996306c24badac0e04c1cead1aed4b106a3bdae)
14c4ff004SIain Sandoe // Test user-facing command line options to generate C++20 header units.
24c4ff004SIain Sandoe 
34c4ff004SIain Sandoe // RUN: %clang -### -std=c++20 -fmodule-header=user foo.hh  2>&1 | \
44c4ff004SIain Sandoe // RUN:   FileCheck -check-prefix=CHECK-USER %s
54c4ff004SIain Sandoe 
6*5996306cSIain Sandoe // RUN: %clang -### -std=c++20 -fmodule-header=user foo.h  2>&1 | \
7*5996306cSIain Sandoe // RUN:   FileCheck -check-prefix=CHECK-USER1 %s
8*5996306cSIain Sandoe 
94c4ff004SIain Sandoe // RUN: %clang -### -std=c++20 -fmodule-header=system foo.hh 2>&1 | \
104c4ff004SIain Sandoe // RUN:   FileCheck -check-prefix=CHECK-SYS1 %s
114c4ff004SIain Sandoe 
124c4ff004SIain Sandoe // RUN: %clang -### -std=c++20 -fmodule-header=system \
134c4ff004SIain Sandoe // RUN: -xc++-system-header vector 2>&1 | FileCheck -check-prefix=CHECK-SYS2 %s
144c4ff004SIain Sandoe 
154c4ff004SIain Sandoe // RUN: %clang -### -std=c++20 -fmodule-header=system \
164c4ff004SIain Sandoe // RUN: -xc++-header vector 2>&1 | FileCheck -check-prefix=CHECK-SYS2 %s
174c4ff004SIain Sandoe 
184c4ff004SIain Sandoe // RUN: %clang -### -std=c++20 -fmodule-header %/S/Inputs/header-unit-01.hh \
194c4ff004SIain Sandoe // RUN: 2>&1 | FileCheck -check-prefix=CHECK-ABS %s -DTDIR=%/S/Inputs
204c4ff004SIain Sandoe 
214c4ff004SIain Sandoe // CHECK-USER: "-emit-header-unit"
224c4ff004SIain Sandoe // CHECK-USER-SAME: "-o" "foo.pcm"
234c4ff004SIain Sandoe // CHECK-USER-SAME: "-x" "c++-user-header" "foo.hh"
244c4ff004SIain Sandoe 
25*5996306cSIain Sandoe // CHECK-USER1: "-emit-header-unit"
26*5996306cSIain Sandoe // CHECK-USER1-SAME: "-o" "foo.pcm"
27*5996306cSIain Sandoe // CHECK-USER1-SAME: "-x" "c++-user-header" "foo.h"
28*5996306cSIain Sandoe 
294c4ff004SIain Sandoe // CHECK-SYS1: "-emit-header-unit"
304c4ff004SIain Sandoe // CHECK-SYS1-SAME: "-o" "foo.pcm"
314c4ff004SIain Sandoe // CHECK-SYS1-SAME: "-x" "c++-system-header" "foo.hh"
324c4ff004SIain Sandoe 
334c4ff004SIain Sandoe // CHECK-SYS2: "-emit-header-unit"
344c4ff004SIain Sandoe // CHECK-SYS2-SAME: "-o" "vector.pcm"
354c4ff004SIain Sandoe // CHECK-SYS2-SAME: "-x" "c++-system-header" "vector"
364c4ff004SIain Sandoe 
374c4ff004SIain Sandoe // CHECK-ABS: "-emit-header-unit"
384c4ff004SIain Sandoe // CHECK-ABS-SAME: "-o" "header-unit-01.pcm"
394c4ff004SIain Sandoe // CHECK-ABS-SAME: "-x" "c++-header-unit-header" "[[TDIR]]/header-unit-01.hh"
40