brintos

brintos / llvm-project-archived public Read only

0
0
Text · 812 B · a19316b Raw
42 lines · plain
1// RUN: rm -rf %t2// RUN: mkdir -p %t3// RUN: split-file %s %t4//5// RUN: %clang_cc1 -std=c++23 %t/a.cppm -emit-module-interface -o %t/a.pcm6// RUN: %clang_cc1 -std=c++23 %t/b.cppm -emit-module-interface -o %t/b.pcm \7// RUN:   -fprebuilt-module-path=%t8// RUN: %clang_cc1 -std=c++23 -fprebuilt-module-path=%t %t/b.pcm -emit-llvm \9// RUN:     -disable-llvm-passes -o - | FileCheck %t/b.cppm10 11//--- a.cppm12module;13 14struct base {15    virtual void f() const;16};17 18inline void base::f() const {19}20 21export module a;22export using ::base;23 24//--- b.cppm25module;26 27struct base {28    virtual void f() const;29};30 31inline void base::f() const {32}33 34export module b;35import a;36export using ::base;37 38export extern "C" void func() {}39 40// We only need to check that the IR are successfully emitted instead of crash.41// CHECK: func42