工具与软件:
尊敬的 TI:
构建由 C++代码组成的 C7X 应用程序时、编译器失败。
我能够缩小代码如下:
#include
void test_func (const cfloat * restrict X、cfloat * restrict Y){for (uint32_t VT = 0U;VT < 10;VT++) Y[VT]= X[VT];}
空调用方(const cfloat * restrict const zi、cfloat * restrict zo){test_func (zi、zo);}_
我针对 C7X (J784S4的 DSP)使用 CGT 4.1.0编译了此代码。
使用-DRESTRICT=""、我有一个编译器警告"Advice #35000-D:(性能)考虑添加
将限定符限制为"Y"声明、以提高循环性能。
使用-DRESTRICT=restrict、如果 OPT_LEVEL 为2或3 (使用0或1正常)、则编译器会崩溃。
cl7x --c++14 -DSOC_J784S4 -DBUILD_C7X -DBUILD_C7X_1 -DFREERTOS -DA72_Linux_OS -dj784s4_evm=j784s4_evm -i (…)/ti-cgt-c7000_4.1.0.110/include restrict.cpp
>> restrict.cpp 第11行:内部错误:MCALL 不匹配
这可能是一个严重的问题。 请通过问题联系客户支持
此问题的说明和导致此问题的源文件的示例
出现内部错误消息。无法继续编译-正在中止!
>>编译失败
帮助!