пакет — Внутренняя ошибка компилятора: 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 несколько раз, но безуспешно. Мы застряли, так как наши проекты не могут компилироваться без этого.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …