32 lines · plain
1// REQUIRES: host-supports-jit, x86_64-linux2//3// RUN: rm -rf %t4// RUN: mkdir -p %t5// RUN: split-file %s %t6//7// RUN: %clang -std=c++20 %t/mod.cppm --precompile \8// RUN: -o %t/mod.pcm --target=x86_64-linux-gnu9// RUN: %clang -fPIC %t/mod.pcm -c -o %t/mod.o --target=x86_64-linux-gnu10// RUN: %clang -nostdlib -fPIC -shared %t/mod.o -o %t/libmod.so --target=x86_64-linux-gnu11//12// RUN: cat %t/import.cpp | env LD_LIBRARY_PATH=%t:$LD_LIBRARY_PATH \13// RUN: clang-repl -Xcc=-std=c++20 -Xcc=-fmodule-file=M=%t/mod.pcm \14// RUN: -Xcc=--target=x86_64-linux-gnu | FileCheck %t/import.cpp15 16//--- mod.cppm17export module M;18export const char* Hello() {19 return "Hello Interpreter for Modules!";20}21 22//--- import.cpp23 24%lib libmod.so25 26import M;27 28extern "C" int printf(const char *, ...);29printf("%s\n", Hello());30 31// CHECK: Hello Interpreter for Modules!32