Tool/software: TI C/C++ Compiler
Hi TI community,
I hope, this is the correct way to report a compiler crash. I have a very small example project for CCS to reproduce the crash.
The crash happens because the a function returns an "auto" type. The return type is a std::vector of a generic template type. This vector will be stored in a unordered_map finally (see code example).
I get the following compile error:
**** Build of configuration Debug for project Bug_TemplateMap **** "C:\\ti\\ccsv7\\utils\\bin\\gmake" -k -j 4 all -O 'Building file: ../main.cpp' 'Invoking: C6000 Compiler' "C:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.3.1/bin/cl6x" -mv6600 --include_path="C:/Users/xyz/workspace_ccs7/Bug_TemplateMap" --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-c6000_8.3.1/include" --define=am5728 --define=core1 -g --c99 --rtti --preproc_with_comment --preproc_with_compile --diag_warning=225 --diag_wrap=off --display_error_number -k --asm_listing "../main.cpp" >> Compilation failure subdir_rules.mk:9: recipe for target 'main.obj' failed INTERNAL ERROR: C:\ti\ccsv7\tools\compiler\ti-cgt-c6000_8.3.1\bin\acpia6x.exe experienced a segmentation fault while processing function (unknown or file scope) file (unknown) line 0 This is caused by a defect in the TI EABI C/C++ Parser. 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: *** [main.obj] Error 1 gmake: Target 'all' not remade because of errors. **** Build Finished ****
I could determine the line and the statement, respectively causing the undefined/unexpected crash. I wrote an alternative statement in comments above this line. With the help of this alternative statement I can get rid of this crash and the build process will run successfully. If I remove the template and take a POD type (such as int), the software can be compiled successfully, too.
It would be glad, if you can solve this crash or maybe you can tell me workaround which uses still the auto-statement for the return type.
This example is tested with TI cgt C6000 compiler version 8.3.1, but this crash still happens if I use the newest 8.3.2!
Best regards
Thomas