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.
在使用-O4 --opt_for_speed=5命令行参数编译 C7x 代码期间抛出"优化器异常终止"消息(-opt_for_speed=1没有问题):
生成文件:"../v_fix_point_hypot3_test.cpp"
调用:C7000编译器
"c:/ti/ti-processor-sdk-rtos-j721s2-evm-08_06_00_11/ti-cgt-c7000_3.1.0.LTS/bin/cl7x -o4 --opt_for_speed=5 --include_path="C:/valeo/workspace/eSmart/v_fix_point_opt_fail --include_path="C:/ti/ti-processor-sdk-rtos-j721s2-evm-08_06_00_11/ti-cgt-c7000_3.1.0.LTS/include --diag_warning=225 --diag_wrap=off --display_error_number --preproc_with_compile --preproc_detail="v_fix_point_hypot3_test.d_hypot3_point"。
>>编译失败
subdir_rules.mk:16:目标"v_fix_point_hypot3_test.obj"的配方失败
>>>优化程序异常终止
>>>输入函数_ZN10n Core_Math 7hypot3dIiLm16ELm16EEENS_11V_FIX_POINTIT_XT0_EXT1_EEES3_S3_S3_()
>>>在文件"..\v.\v_fix_point_hypot.h"中
这是由 TI C/C++优化器中的缺陷导致的。
TI 客户支持可能会建议一种避免这种情况的权变措施。
升级到最新版本的编译器可能会解决这个问题。
请访问 http://e2e.ti.com 上的 E2E 支持论坛联系 TI 、
"开发工具"、"TI C/C++编译器"。 请参阅标题为
"提交问题"。
我们需要看到整个错误消息、以及一个完整、可重现的
包含所有命令行选项的测试用例。
包含由 option --preproc_with_comment 创建的.pp 文件
使用的编译器为:TI-CGT-c7000_3.1.0.LTS
附加了生成内部错误的 CCS 工程。
e2e.ti.com/.../v_5F00_fix_5F00_point_5F00_opt_5F00_fail.zip
我发现、如果使用"非类"模板函数而不是模板类的静态方法、内部错误会消失。 可以通过将 v_fix_point_hypot.h 第28行的"#if 0"更改为"#if 1"来切换这些选项。
感谢您通知我们此问题并提交测试用例。 我能够重现相同的行为。 我提交了条目 EXT_EP-11618 来对此进行调查。 我们欢迎您通过这个链接来了解这一点。
谢谢。此致、
-乔治