https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90137
--- Comment #2 from Konstantin Shegunov <kshegunov at gmail dot com> ---
Yes, this is the error I get.
What should happen instead is that compilation succeeds. Having the following
as declaration in using.h:
class DerivedPrivate;
class Derived final : public Base
{
public:
Derived(); // using Base::Base;
~Derived() override;
private:
std::unique_ptr<DerivedPrivate> d;
};
And trivially defining it in using.cpp:
Derived::Derived()
{
}
compiles correctly, i.e.
g++ -c -pipe -g -std=gnu++11 -Wall -W -fPIC -I. -o main.o main.cpp
produces no error.