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.

Compiler/TM4C1294NCPDT: Optimizer terminated abnormally

Part Number: TM4C1294NCPDT

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