ID |
Summary |
State |
Reported In Release |
Target Release |
Workaround |
Release Notes |
CODEGEN-2345 |
Register allocation fails with -o2 and higher for large test case |
Planned |
C6000_8.1.4 |
|
|
Compiler fails with message: INTERNAL ERROR: >>>Register allocation failed when compiling with -o2 and higher. |
SDSCM00052807 |
lnk6x emits warnings about .tdata and .tbss when .TI.tls specification is present in a linker command file |
Open |
C6000_8.1.0 |
|
|
|
SDSCM00051300 |
Array with many dimensions hangs parser |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00050131 |
Local struct with non-constant initializer treated as static scope variable |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00049284 |
Compiler misreports Misra warning 10.1 |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00049280 |
Ill advised enum scalar usage gets MISRA diagnostic, but similar usage of enum array does not |
Open |
C6000_8.1.0B1 |
|
|
|
SDSCM00049278 |
Array that is correctly initialized erroneously gets a MISRA diagnostic about size not being specified |
Open |
C6000_8.1.0B1 |
|
|
|
SDSCM00048582 |
Use of short form of options in C_OPTION may cause spurious warning |
Accepted |
C6000_8.1.0B1 |
|
If using the C_OPTION environment variable, the best practice is to use the long form of options. |
|
SDSCM00048083 |
%#x should not prefix 0x to a zero value |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00048041 |
Should reject certain unitless instructions in parallel with certain other instructions |
Open |
C6000_8.1.0B1 |
|
|
|
SDSCM00047568 |
Disassembler fails to disassemble DPINT DPTRUNC DPSP |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00047245 |
C99 math.h macros not supported |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00047244 |
C99 header file fenv.h not supported |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00047243 |
isunordered not supported |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00046931 |
Hex converter map file does not list all sections for RAM model program with initialized sections with .cinit records |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00046929 |
Hex converter fails to process RAM model .cinit records for initialized sections |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00046695 |
Floating point addition rounding error |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00046690 |
pow(min, max) and pow(max, max) incorrect |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00046659 |
global labels defined in .cproc region are discarded |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00046391 |
When failing to place a section, include size of trampolines in error message |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00046114 |
RTS float arithmetic functions rounding error |
Open |
C6000_8.1.0B1 |
|
|
The expression 1+DBL_EPSILON/2 should be rounded DOWN to 1.0 for only mode the TI compiler supports: "round to even". |
SDSCM00043877 |
Emit warning message when objects of size 256MB or larger truncated |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00042559 |
modf(-Inf, 1.0) with -mv6740 enters infinite loop |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00040934 |
Structure is not initialized correctly when using -o2 or -o3 optimization |
Accepted |
C6000_8.1.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_8.1.0B1 |
|
|
|
SDSCM00023977 |
compiler is scheduling use of A8 too early causing an incorrect branch |
Accepted |
C6000_8.1.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_8.1.0B1 |
|
|
|
SDSCM00014430 |
calloc doesn't check arguments to make sure the requested size is reasonable |
Accepted |
C6000_8.1.0B1 |
|
|
|
SDSCM00008685 |
DWARF does not correctly represent variables stored in register pairs |
Accepted |
C6000_8.1.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_8.1.0B1 |
|
none
|
|
SDSCM00008248 |
Compilers on PC will not work without TMP set |
Accepted |
C6000_8.1.0B1 |
|
Set the TMP environment variable, even if just set to . (current directory)
|
|