[Bug c++/105320] New: Use of shared_ptr within a type exported from a module results in spurious compiler error
john at johnmaddock dot co.uk
gcc-bugzilla@gcc.gnu.org
Wed Apr 20 18:28:48 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105320
Bug ID: 105320
Summary: Use of shared_ptr within a type exported from a module
results in spurious compiler error
Product: gcc
Version: 11.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: john at johnmaddock dot co.uk
Target Milestone: ---
Reduced test case:
module.cpp:
module;
#include <memory>
export module test_support;
export template <class T> struct pimpl
{
private:
std::shared_ptr<T> data;
public:
pimpl(const T& x) : data(new T(x)) {}
pimpl() = default;
};
test_module.cpp:
import test_support;
int main()
{
pimpl<int> p1, p2(3);
}
Compile with:
g++ -std=gnu++20 -fmodules-ts module.cpp test_module.cpp
Results in:
D:/compilers/msys64/mingw64/include/c++/11.2.0/bits/shared_ptr_base.h:1369:
confused by earlier errors, bailing out
Note that there were no earlier errors ! ;)
More information about the Gcc-bugs
mailing list