55 lines
1.9 KiB
C++
55 lines
1.9 KiB
C++
// RUN: rm -rf %t
|
|
// RUN: mkdir -p %t
|
|
// RUN: split-file %s %t
|
|
// RUN: cd %t
|
|
|
|
// RUN: %clang_cc1 -std=c++20 -emit-header-unit -xc++-user-header hu-01.h \
|
|
// RUN: -fmodule-name=hu-01 -o hu-01.pcm
|
|
|
|
// RUN: %clang_cc1 -std=c++20 -emit-header-unit -xc++-user-header hu-02.h \
|
|
// RUN: -Wno-experimental-header-units -fmodule-file=hu-01.pcm -o hu-02-abs.pcm
|
|
|
|
// RUN: %clang_cc1 -std=c++20 -emit-header-unit -xc++-user-header hu-02.h \
|
|
// RUN: -Wno-experimental-header-units -fmodule-file=hu-01.pcm -o hu-02-rel.pcm \
|
|
// RUN: -fmodule-file-home-is-cwd
|
|
|
|
// RUN: %clang -module-file-info hu-02-abs.pcm | FileCheck %s --check-prefix=IMPORT-ABS -DPREFIX=%t
|
|
// IMPORT-ABS: Imports module 'hu-01': [[PREFIX]]{{/|\\}}hu-01.pcm
|
|
|
|
// RUN: %clang -module-file-info hu-02-rel.pcm | FileCheck %s --check-prefix=IMPORT-REL
|
|
// IMPORT-REL: Imports module 'hu-01': hu-01.pcm
|
|
|
|
// RUN: llvm-bcanalyzer --dump --disable-histogram %t/hu-02-abs.pcm \
|
|
// RUN: | FileCheck %s --check-prefix=INPUT-ABS -DPREFIX=%t
|
|
// INPUT-ABS: <INPUT_FILE {{.*}}/> blob data = '[[PREFIX]]{{/|\\}}hu-02.h'
|
|
|
|
// RUN: llvm-bcanalyzer --dump --disable-histogram %t/hu-02-rel.pcm \
|
|
// RUN: | FileCheck %s --check-prefix=INPUT-REL
|
|
// INPUT-REL: <INPUT_FILE {{.*}}/> blob data = 'hu-02.h'
|
|
|
|
//--- hu-01.h
|
|
inline void f() {}
|
|
|
|
//--- hu-02.h
|
|
import "hu-01.h";
|
|
|
|
inline void g() {
|
|
f();
|
|
}
|
|
|
|
// RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/a.cppm -o %t/a-abs.pcm
|
|
|
|
// RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/a.cppm -o %t/a-rel.pcm \
|
|
// RUN: -fmodule-file-home-is-cwd
|
|
|
|
// RUN: llvm-bcanalyzer --dump --disable-histogram %t/a-abs.pcm \
|
|
// RUN: | FileCheck %s --check-prefix=M-INPUT-ABS -DPREFIX=%t
|
|
// M-INPUT-ABS: <INPUT_FILE {{.*}}/> blob data = '[[PREFIX]]{{/|\\}}a.cppm'
|
|
|
|
// RUN: llvm-bcanalyzer --dump --disable-histogram %t/a-rel.pcm \
|
|
// RUN: | FileCheck %s --check-prefix=M-INPUT-REL
|
|
// M-INPUT-REL: <INPUT_FILE {{.*}}/> blob data = 'a.cppm'
|
|
|
|
//--- a.cppm
|
|
export module a;
|