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.
Tool/software: TI C/C++ Compiler
Hi. I got this error after upgrading ti arm compiler from 18.1.1 to 18.12.0. The error reproduces on OryxCyclone 1.9.0 (https://www.oryx-embedded.com/) library's function "pathFindFileName".
I have cut unnecessary --include_path flags from compiler call.
const char_t *pathFindFileName(const char_t *path) { size_t n; //Retrieve the length of the path n = strlen(path); //Skip trailing slash or backslash characters while(n > 0) { //Forward slash or backslash character found? if(path[n - 1] != '/' && path[n - 1] != '\\') break; //Previous character n--; } //Search the string for the last separator while(n > 0) { //Forward slash or backslash character found? if(path[n - 1] == '/' || path[n - 1] == '\\') break; //Previous character n--; } //Return a pointer to the file name return path + n; }
Building file: "../OryxCyclone/common/path.c"
Invoking: ARM Compiler
"C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.12.0.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me -O2 --opt_for_speed=0
--include_path="D:/work/projects/UpsController/UpsController/OryxCyclone/common"
--include_path="D:/work/projects/UpsController/UpsController/OryxCyclone/cyclone_crypto"
--include_path="D:/work/projects/UpsController/UpsController/OryxCyclone/cyclone_ssl"
--include_path="D:/work/projects/UpsController/UpsController/OryxCyclone/cyclone_tcp"
--include_path="C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.12.0.LTS/include"
--define=ccs="ccs" --define=TARGET_IS_SNOWFLAKE_RA0 --define=USE_EK_TM4C1294XL --define=PART_TM4C1294NCPDT -g --c99 --c++14 --gcc --diag_warning=225 --diag_wrap=off --display_error_number --abi=eabi --preproc_with_compile --preproc_dependency="OryxCyclone/common/path.d_raw" --obj_directory="OryxCyclone/common" "../OryxCyclone/common/path.c"
>> Compilation failure
OryxCyclone/common/subdir_rules.mk:44: recipe for target 'OryxCyclone/common/path.obj' failed
>>>> Optimizer terminated abnormally
>>>> in function pathFindFileName()
>>>> in file "../OryxCyclone/common/path.c"
This is caused by a defect in the TI C/C++ Optimizer.
TI Customer Support may be able to suggest a workaround to avoid this.
Upgrading to the newest version of the compiler may fix this problem.
Contact TI in the E2E support forums at http://e2e.ti.com under
"Development Tools", "TI C/C++ Compiler". See the link titled
"Submitting an issue".
We need to see this ENTIRE error message and a complete, reproducible
test case including ALL of the command-line options.
Include the .pp file created by option --preproc_with_comment
gmake[1]: *** [OryxCyclone/common/path.obj] Error 1
Thank you for notifying us of this problem, and submitting a test case. I can reproduce the same behavior. I filed the entry CODEGEN-6474 in the SDOWP system to have this investigated. You are welcome to follow it with the SDOWP link below in my signature.
Thanks and regards,
-George