CODEGEN-4339 |
div() and ldiv() return incorrect result when built with -o4 option |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4329 |
runtime failure; initializer_list test gets incorrect result |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4324 |
MSP std::locale::global() fails link for isblank undefined symbol |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4323 |
MSP430 floating point calculation is inconsistent |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4318 |
libcxx/include/random uses unsigned for unsigned long |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4308 |
runtime failure; unaligned access |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4307 |
cl430 generates invalid conversion error |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4305 |
Compiler aborts with excessive inlining of C++ functions |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4304 |
runtime failure on unaligned access (on some processor variants, not all) |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4303 |
Abort on using decltype(auto) to declare a type conversion operator |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4271 |
pow(complex&, int) returns complex |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4259 |
noexcept(typeid(d)) runtime fail on polymorphic class type |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4258 |
deeply nested lambda functions hang the codegen |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4242 |
error transfer of control bypasses initialization |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4234 |
No error generated for lambda-expression in default argument cannot capture any entity. |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4233 |
lambda error not emitted for missing default arg on parameter |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4158 |
TI compiler does not emit clang error: constexpr function never produces a constant expression |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4157 |
error with using constexpr for return from end() with empty std::initializer_list |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4124 |
Failure to defer access control checks |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4122 |
decltype cannot be used as a destructor name |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4090 |
Unimplemented core issue 475: std::uncaught_exception is not true when constructing the thrown object |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4087 |
wostringstream::fill(WCHAR_MAX) incorrectly sets the fill value to ' 'L. |
Accepted |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4076 |
Exception which propagates out of destructor does not result in std::terminate |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4072 |
Unimplemented core issue 1769: Catching a thrown derived class by reference to base clas |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4069 |
incomplete type not allowed error from parser |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4044 |
libcxx istreambuf_iterator points to end of string instead of character past match |
Planned |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4035 |
no error emitted for pointer subtraction to class member arrays |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4034 |
missing diagnostic for undefined virtual function table |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4026 |
Non-standard partial ordering of variadic template partial specialization |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4002 |
Undefined behavior on lambda capturing constexpr by reference |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4001 |
Unimplemented core issue 588: Unqualified name lookup examines dependent base class |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-4000 |
Core 1601: Overload resolution for enum with fixed type |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3999 |
Unimplemented core issue 1374: Conversion sequence ranks qualification before reference binding |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3998 |
Unimplemented core issue 1951: cv-qualified void and scalar types are not literal types |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3993 |
Constant initialiation may take place before dynamic initialization |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3978 |
std::is_trivially_copyable incorrectly fails for volatile |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3966 |
slice_array assignment failures |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3965 |
Invalid conversion on static_cast from T1 to rvalue reference of T2 |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3964 |
Unimplemented core issue 1467: Overloads and initializations with single-element initializer_list |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3963 |
Unimplemented core issue 591: Name lookup in dependent base class that is also the current instantiation |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3962 |
Core Issue 1804 unimplemented: friend declaration does not apply to class template specializations |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3961 |
Pack expansion in template parameter list fails |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3951 |
Spurious error on bypassing initialization of trivially constructible objects |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3948 |
Spurious syntax error on alignas in alias declaration |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3947 |
Spurious error on unevaluated use of undefined constexpr function |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3946 |
Spurious error on global qualifier of struct template |
Open |
MSP430_18.1.0.LTS |
|
|
|
CODEGEN-3901 |
std::nullptr_t cannot be used to initialize entity of type bool |
Open |
MSP430_18.1.0.LTS |
|
|
|
SDSCM00052531 |
Incorrect value assigned to a forward reference of a symbol defined in terms of the section's PC ($) after jump expansion |
Open |
MSP430_18.1.0.LTS |
|
Two workarounds are possible:
1) Use a label to get the value of the PC at a key location instead of "symbol .equ $"
2) Replace the jump that will be expanded with an already expanded form. In the example, the jump could be replaced with:
JLO $+6
BR label1 |
|
CODEGEN-1295 |
MSP430 RTS rint() double routines failing for some inputs |
Open |
MSP430_18.1.0.LTS |
|
Avoid using the rint() RTS routines with double arguments and instead use the corresponding rint() float routines.
|
MSP430 RTS routines rint() rintl() lrint() lrintl() llrint() llrintl() failing for some inputs with double arguments.
|
SDSCM00051908 |
Print a more friendly message when using a lnk.cmd with too large memory |
Accepted |
MSP430_18.1.0.LTS |
|
|
|
SDSCM00050131 |
Local struct with non-constant initializer treated as static scope variable |
Accepted |
MSP430_18.1.0.LTS |
|
|
|
SDSCM00049280 |
Ill advised enum scalar usage gets MISRA diagnostic, but similar usage of enum array does not |
Open |
MSP430_18.1.0.LTS |
|
|
|
SDSCM00049278 |
Array that is correctly initialized erroneously gets a MISRA diagnostic about size not being specified |
Open |
MSP430_18.1.0.LTS |
|
|
|
SDSCM00047833 |
msp C++ cpp compiled with printf_support=minimal causes cout to output incorrect results |
Accepted |
MSP430_18.1.0.LTS |
|
Instead either compile without --printf_support, or choose options nofloat or full. |
|
SDSCM00046695 |
Floating point addition rounding error |
Accepted |
MSP430_18.1.0.LTS |
|
|
|
SDSCM00046115 |
MSP430 RTS float arithmetic functions do not round correctly |
Open |
MSP430_18.1.0.LTS |
|
|
|
SDSCM00046113 |
C2000 RTS float arithmetic functions do not round correctly |
Open |
MSP430_18.1.0.LTS |
|
|
|
SDSCM00044526 |
Compiler emits bogus DW_OP_reg16 for split argument |
Accepted |
MSP430_18.1.0.LTS |
|
|
|
SDSCM00040934 |
Structure is not initialized correctly when using -o2 or -o3 optimization |
Accepted |
MSP430_18.1.0.LTS |
|
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);
|
|
SDSCM00038293 |
Relocation overflows for BIT instruction using 20-bit pointer |
Accepted |
MSP430_18.1.0.LTS |
|
|
|
SDSCM00038178 |
Should forbid non-const objects larger than 64k in large model if --near_data=globals |
Accepted |
MSP430_18.1.0.LTS |
|
|
|
SDSCM00018691 |
Linker gives misleading warning when dot expressions used in SECTION directive for .stack section |
Accepted |
MSP430_18.1.0.LTS |
|
|
|
SDSCM00014430 |
calloc doesn't check arguments to make sure the requested size is reasonable |
Accepted |
MSP430_18.1.0.LTS |
|
|
|
SDSCM00008685 |
DWARF does not correctly represent variables stored in register pairs |
Accepted |
MSP430_18.1.0.LTS |
|
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.
|
|
SDSCM00008652 |
pow(2,x) has fairly significant rounding error |
Accepted |
MSP430_18.1.0.LTS |
|
Please describe the workaround for this problem.
|
|
SDSCM00008630 |
printf gives wrong value for pointer when its value is incremented |
Open |
MSP430_18.1.0.LTS |
|
To get rid of the warning message modify the printf statement as
follows:
printf('0x%lx\n', 0x10000 + (t=(long int)&global_var));
This modified code executes correctly too.
|
|
SDSCM00008543 |
Forward reference in .space generates an internal error |
Accepted |
MSP430_18.1.0.LTS |
|
none
|
|
SDSCM00008248 |
Compilers on PC will not work without TMP set |
Accepted |
MSP430_18.1.0.LTS |
|
Set the TMP environment variable, even if just set to . (current directory)
|
|