Внутренняя ошибка компилятора: C0000005 @ 54D79AFE C++ Builder 10.1 Berlin Update 2

Пакет, использующий множественное наследование, вызывает нарушение прав доступа в C++Builder 10.1 Berlin Update 2 с использованием 32-разрядных и 64-разрядных компиляторов на основе CLANG.

Как только класс с множественным наследованием имеет код реализации, CLANG вызывает ICE.

Вот простой код, который вызовет проблему:

// vcl
#include <System.Classes.hpp>

class TClass1
{
public:
    virtual __fastcall ~TClass1() = 0;
};

class PACKAGE TDummy :  public TComponent, public TClass1
{
public:
    /**
    * Pure virtual VCL style destructor
    *@note Needed to allow WTControlObserver destruction directly (otherwise children destructors
    *      are never called)
    */
    virtual __fastcall ~TDummy()
    {}

    void __fastcall test();
};

И реализация (должна быть в CPP):

void __fastcall TDummy::test()
{
    int i = 0;
}

Я писал в Embarcadero несколько раз, но безуспешно. Мы застряли, так как наши проекты не могут компилироваться без этого.

0 ответов

Другие вопросы по тегам