This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PROCESSOR-SDK-J784S4:CGT 4.1.0和 restrict 关键字

Guru**** 2465890 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1475787/processor-sdk-j784s4-cgt-4-1-0-and-restrict-keyword

器件型号:PROCESSOR-SDK-J784S4

工具与软件:

尊敬的 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 不匹配


这可能是一个严重的问题。 请通过问题联系客户支持
此问题的说明和导致此问题的源文件的示例
出现内部错误消息。

无法继续编译-正在中止!


>>编译失败

帮助!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您通知我们此问题并提交一个简短的测试用例。  我能够重现相同的行为。  我提交了 EXT_EP-12192 以对其进行调查。  我们欢迎您通过这个链接来了解。

    谢谢。此致、

    -George.