mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-05-14 01:46:41 +00:00

This reverts commit 67b298f6d82e0b4bb648ac0dabe895e816a77ef1. We got linker errors with undefined symbols during a compiler release and tracked it down to this change. I am in the process of understanding what is happening and getting a reproducer. Sorry for reverting this again. I will reopen #61065 until we fix this.
56 lines
1001 B
C++
56 lines
1001 B
C++
// From https://github.com/llvm/llvm-project/issues/61065
|
|
// RUN: rm -rf %t
|
|
// RUN: mkdir -p %t
|
|
// RUN: split-file %s %t
|
|
//
|
|
// RUN: %clang_cc1 -std=c++20 %t/a.cppm -emit-module-interface -o %t/a.pcm
|
|
// RUN: %clang_cc1 -std=c++20 %t/b.cppm -emit-module-interface -o %t/b.pcm \
|
|
// RUN: -fprebuilt-module-path=%t
|
|
// DISABLED: %clang_cc1 -std=c++20 %t/c.cppm -emit-module-interface -o %t/c.pcm \
|
|
// DISABLED: -fprebuilt-module-path=%t
|
|
// DISABLED: %clang_cc1 -std=c++20 %t/d.cpp -fsyntax-only -verify -fprebuilt-module-path=%t
|
|
|
|
//--- a.cppm
|
|
export module a;
|
|
|
|
struct base {
|
|
base(int) {}
|
|
};
|
|
|
|
export struct a : base {
|
|
using base::base;
|
|
};
|
|
|
|
//--- b.cppm
|
|
export module b;
|
|
|
|
import a;
|
|
|
|
a b() {
|
|
return a(1);
|
|
}
|
|
|
|
//--- c.cppm
|
|
export module c;
|
|
|
|
import a;
|
|
import b;
|
|
|
|
struct noncopyable {
|
|
noncopyable(noncopyable const &) = delete;
|
|
noncopyable() = default;
|
|
};
|
|
|
|
export struct c {
|
|
noncopyable c0;
|
|
a c1 = 43;
|
|
c() = default;
|
|
};
|
|
|
|
//--- d.cpp
|
|
// expected-no-diagnostics
|
|
import c;
|
|
void d() {
|
|
c _;
|
|
}
|