内部编译器错误:C0000005 @ 54D79AFE C ++ Builder 10.1 Berlin Update 2

时间:2017-03-03 08:45:58

标签: c++ package c++builder-10.1-berlin

使用多重继承的软件包使用基于CLANG的32位和64位编译器在C ++ Builder 10.1 Berlin Update 2中导致访问冲突。

只要具有多重继承的类具有实现代码,CLANG就会生成ICE。

这是一个触发问题的简单代码:

$.ajax({
  type: 'get',
  url: 'https://www.example.com/api/transactables',
  headers: {
    Authorization: 'Token token=xxxxxxxxxxxxxxxxxxxxxxxxx'
  },
  data: {
    page: 1,
    per_page:1
  },
  success: function (){
    console.log('success!');
  }
});

实施(必须在CPP中):

// 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();
};

我多次写信给Embarcadero,没有任何运气。我们陷入困境,因为没有这个我们的项目就无法编译。

0 个答案:

没有答案