# Open Defects in Release

ID | Summary | State | Reported In Release | Target Release | Workaround | Release Notes
--- | --- | --- | --- | --- | --- | ---
CODEGEN-4089 | Documentation of MIRA rule 9.1 does not mention all the limitations | Accepted | C6000_7.4.23 |  |  |
CODEGEN-1453 | Cannot handle parenthesis around string constant | Open | C6000_7.4.18 |  |  |
SDSCM00052193 | register allocation failure for test case with huge function, huge struct | Accepted | C6000_7.4.14 |  | You should try to break the struct into smaller pieces, and break the function into smaller functions. You can also try using the option -mu to disable software pipelining, or the option --use_g3 to use the G3 backend. |
SDSCM00051804 | vscanf test fails with loadcgem, passes with kelvin | Accepted | C6000_7.4.9 |  |  |
SDSCM00051730 | Compiler incorrectly accepts code that uses copy constructor, even though copy constructor is private | Accepted | C6000_7.4.11 |  | Either remove the NonCopyableBase class or upgrade to C6000 8.0.x compiler tools. |
SDSCM00051669 | Compiler issues advice to use MUST_ITERATE for loop with constant bounds on iteration count. It doesn't help performance. | Accepted | C6000_7.4.12 |  |  |
SDSCM00051125 | Linker should emit warning that .c6xabi.exidx cannot be split across output sections | Accepted | C6000_7.4.8 |  |  |
SDSCM00050703 | Compiler auto-generates identical global symbol definition in different modules, which causes link to fail | Accepted | C6000_7.4.8 |  |  |
SDSCM00050657 | Unused label causes INTERNAL ERROR with optimizer off, -g, and --optimize_with_debug=on | Accepted | C6000_7.4.8 |  | Comment out the unused label OUT. |
SDSCM00050135 | wchar.h should not include stdio.h | Accepted | C6000_7.4.7 |  |  |
SDSCM00050131 | Local struct with non-constant initializer treated as static scope variable | Accepted | C6000_7.4.7 |  |  |
SDSCM00050004 | Compiler mistakenly issues MISRA diagnostic 9.1 regarding local variables being initialized | Accepted | C6000_7.4.7 |  |  |
SDSCM00050003 | Compiler mistakenly issues MISRA diagnostic 16.7, related to pointer function parameters | Accepted | C6000_7.4.7 |  |  |
SDSCM00049680 | Need to add a _lldotp2 intrinsic to the compiler to avoid EXT instruction when using DOTP2 that writes a register pair | Accepted | C6000_7.4.5 |  | There is no workaround to prevent an extra EXT instruction from occurring. There is no correctness issue. |
SDSCM00049545 | Compiler mishandles near address operation under EABI | Accepted | C6000_7.4.6 |  |  |
SDSCM00049282 | Compiler misreports Misra warning 10.1 | Open | C6000_7.4.0B1 |  |  |
SDSCM00049280 | Ill advised enum scalar usage gets MISRA diagnostic, but similar usage of enum array does not | Open | C6000_7.4.0B1 |  |  |
SDSCM00049278 | Array that is correctly initialized erroneously gets a MISRA diagnostic about size not being specified | Open | C6000_7.4.0B1 |  |  |
SDSCM00049238 | Use of -mh=auto can cause link to fail | Accepted | C6000_7.4.6 |  |  |
SDSCM00048041 | Should reject certain unitless instructions in parallel with certain other instructions | Open | C6000_7.4.0B1 |  |  |
SDSCM00047907 | Compiler not generating error message when #pragma omp parallel is placed before a variable declaration | Accepted | C6000_7.4.0 |  | Enclose the code after the #pragma omp parallel directive in a block. |
SDSCM00047840 | omp for loop with unsigned short loop counter generates error message | Accepted | C6000_7.4.0 |  | Change to int the type of loop counter variables in for loops that are the target of '#pragma omp for' directives. |
SDSCM00047403 | Compiler generates segmentation fault when double-quotes are used within C6X_C_OPTION | Accepted | C6000_7.4.1 |  |  |
SDSCM00047245 | C99 math.h macros not supported | Accepted | C6000_7.4.4 |  |  |
SDSCM00047244 | C99 header file fenv.h not supported | Accepted | C6000_7.4.4 |  |  |
SDSCM00047243 | isunordered not supported | Accepted | C6000_7.4.4 |  |  |
SDSCM00047237 | Openmp build does not honor C6600 intrinsic | Accepted | C6000_7.4.2 |  | #include c6x.h after . |
SDSCM00047204 | C6000 CGT: bit field updated incorrectly when optimizer is turned on and volatile attribute is used. | Accepted | C6000_7.4.2 |  |  |
SDSCM00046931 | Hex converter map file does not list all sections for RAM model program with initialized sections with .cinit records | Accepted | C6000_7.4.4 |  |  |
SDSCM00046929 | Hex converter fails to process RAM model .cinit records for initialized sections | Accepted | C6000_7.4.4 |  |  |
SDSCM00046784 | extract_h should return a signed 16-bit value | Accepted | C6000_7.4.1 |  | Change the gsm.h file so that the cast for extract_h is signed instead of unsigned. |
SDSCM00046695 | Floating point addition rounding error | Accepted | C6000_7.4.0B1 |  |  |
SDSCM00046690 | pow(min, max) and pow(max, max) incorrect | Accepted | C6000_7.4.4 |  |  |
SDSCM00046659 | global labels defined in .cproc region are discarded | Accepted | C6000_7.4.4 |  |  |
SDSCM00046391 | When failing to place a section, include size of trampolines in error message | Accepted | C6000_7.4.4 |  |  |
SDSCM00046114 | RTS float arithmetic functions rounding error | Open | C6000_7.4.4 |  |  | The expression 1+DBL_EPSILON/2 should be rounded DOWN to 1.0 for only mode the TI compiler supports: "round to even".
SDSCM00044972 | openMP default clause is ignored | Accepted | C6000_7.4.0 |  |  |
SDSCM00042559 | modf(-Inf, 1.0) with -mv6740 enters infinite loop | Accepted | C6000_7.4.0B1 |  |  |
SDSCM00040934 | Structure is not initialized correctly when using -o2 or -o3 optimization | Accepted | C6000_7.4.0B1 |  | The initialization will have to be done at run-time, through a __sti initialization routine. You can see this routine when compiling without optimization. To workaround the compiler removing this initialization routine, initialize the object at the beginning of main: Info2.mSize = ((unsigned)_end_isr_stack - (unsigned)_start_isr_stack); |
SDSCM00039264 | When building with -o2, compiler sometimes fails to complete compilation | Accepted | C6000_7.4.0B1 |  |  |
SDSCM00023977 | compiler is scheduling use of A8 too early causing an incorrect branch | Accepted | C6000_7.4.0B1 |  | Reduce the SPeed optimization Level. Use the -ms0, -ms1 switches. |
SDSCM00018691 | Linker gives misleading warning when dot expressions used in SECTION directive for .stack section | Accepted | C6000_7.4.0B1 |  |  |
SDSCM00014430 | calloc doesn't check arguments to make sure the requested size is reasonable | Accepted | C6000_7.4.0B1 |  |  |
SDSCM00008928 | Extern inline functions are not supported in the C/C++ Compiler with COFF ABI | Accepted | C6000_7.4.0B1 |  |  | This bug only affects COFF ABI. If a function is declared as inline and there are no references to it in the same file, the function is eliminated and can't be called from another file.
SDSCM00008685 | DWARF does not correctly represent variables stored in register pairs | Accepted | C6000_7.4.0B1 |  | Although 'var1' and 'var2' are shown to be in single registers, a debugger could determine that they are actually stored in register pairs by looking at the type of the variables: [00000113] DW_TAG_base_type DW_AT_name long long DW_AT_encoding 0x5 DW_AT_byte_size 0x8 The base type indicates that the size of the variables is 0x8 bytes. Since a single register can only store 0x4 bytes of information, it would take two registers to hold this values. On TI architectures, values stored in multiple registers are always stored in consecutive registers. Thus, the debugger would know that if the entire value could not fit in A4, the rest of the value must be in A5. A5 would contain the upper 32 bits of the value. |
SDSCM00008543 | Forward reference in .space generates an internal error | Accepted | C6000_7.4.0B1 |  | none |
SDSCM00008248 | Compilers on PC will not work without TMP set | Accepted | C6000_7.4.0B1 |  | Set the TMP environment variable, even if just set to . (current directory) |

Generated on Tue Feb 20 17:11:43 2018