This is a list of currently open issues for the TASKING SmartCode v10.1r1.
The list may include issues found in later releases, whether such issues also appear in this release has not always been verified yet. See below for the list of closed issues. The list of fixed issues for v10.1r1 is included in the release notes of the product.
ID | Summary | Inspector detector |
SMRT-143 |
C compiler: wrong code generation: dextr/extr.u with pos = 32 (out of range) |
Not planned |
SMRT-158 |
Compiler error ctc S911 with MISRA rule 10.3 |
Not planned |
SMRT-171 |
SW implementation of C standard library function fmaf() does not raise FE_INVALID when returning NAN |
Not planned |
SMRT-195 |
Loading failed error when hex or srec files for individual memories are created |
Not planned |
SMRT-199 |
Misleading 'ctc E350: invalid constraint for parameter 1' error indicating wrong parameter number |
Not planned |
SMRT-211 |
Functions memcpy(), memmove(), and memset() may fail with a bus trap when accessing the Peripheral Space |
Not planned |
SMRT-212 |
TriCore compiler may generate double word access instructions to peripheral memory |
Not planned |
SMRT-222 |
strtod and scanf of float/double give incorrect results for many hexadecimal inputs |
Not planned |
SMRT-243 |
C compiler: MISRA C 2012 rule 3.2 - false positive error for line splicing |
Not planned |
SMRT-254 |
C++ compiler cannot assign result of std::numeric_limits<float>::infinity() to constexpr variable |
Not planned |
SMRT-256 |
Linker segmentation fault on very long symbol names |
Not planned |
SMRT-259 |
C compiler takes a long time to process a C++ compiler generated input file |
Not planned |
SMRT-262 |
C++ compiler error 'E0828: ... support for "new[]" and "delete[]" is disabled' for option --no-array-new-and-delete |
Not planned |
SMRT-277 |
C compiler: wrong code generation for float-to-int conversion when using #pragma STDC FENV_ACCESS ON: no FE_INVALID is raised |
Not planned |
SMRT-281 |
Constant propagation optimization may violate #pragma STDC FENV_ACCESS ON |
Not planned |
SMRT-282 |
Control flow simplification optimization may violate #pragma STDC FENV_ACCESS ON |
Not planned |
SMRT-286 |
Atomic load is removed in some cases |
Not planned |
SMRT-287 |
8051 compiler: Conditional illegal sequential load of volatile address |
Not planned |
SMRT-292 |
C compiler: MISRA C 2012 rule 18.8 erroneously flags violation of variable-length array |
Not planned |
SMRT-294 |
Calling exit from a static object destructor causes a dead lock |
Not planned |
SMRT-298 |
Conversion double-to-float may produce 0 instead of FLT_MIN |
Not planned |
SMRT-301 |
Archiver option -w/--warning does nothing |
Not planned |
SMRT-312 |
Function @FLD accepts negative arguments with undefined behavior |
Not planned |
SMRT-319 |
S911 error when any MISRA C 2012 rule check for rules 10.x is enabled |
Not planned |
SMRT-322 |
Software implementation of C standard library function fma may return 1.0 instead of INFINITY |
Not planned |
SMRT-326 |
S911 error when automatic inlining enabled plus size/speed tradeoff value less than 2 |
Not planned |
SMRT-328 |
Erroneous code generation due to loop fusion optimization |
Not planned |
SMRT-329 |
Struct parameter passing error in a va_arg use case |
Not planned |
SMRT-334 |
PPU copytable processing causes ECC memory issues on TC49x hardware |
Not planned |
SMRT-335 |
FPU instructions may corrupt 64-bit integer computations |
Not planned |
SMRT-338 |
Non EABI compliant bitfield offset used in a struct with a structsize larger than 32 bit |
Not planned |
SMRT-343 |
C compiler: incorrect integer promotion using expression simplification optimization |
Not planned |
SMRT-345 |
C compiler: missing truncation for cast that is converted to _Bool |
Not planned |
SMRT-347 |
S911 internal consistency check failed error when using a VLA in a function call |
Not planned |
SMRT-352 |
Preprocessor output is not included in the given output folder |
Not planned |
SMRT-358 |
C++ Compiler: Non EABI compliant bitfield offset used in a struct |
Not planned |
SMRT-359 |
DSP-C: operations on __sfract / __wrap __sfract may produce incorrect results |
Not planned |
SMRT-360 |
Missing zero-extend for indirect store to _Bool automatic variable |
Not planned |
SMRT-362 |
C compiler: Incorrect CSE of VLA size expression |
Not planned |
SMRT-363 |
C compiler: flexible array member initialization: diagnostics may be missing |
Not planned |
SMRT-366 |
Segmentation fault error due to LSL sizeof built-in function usage in a non-supported context |
Not planned |
SMRT-367 |
Incorrect vectorization of small loop with unsigned iterator |
Not planned |
SMRT-370 |
C++ compiler generates code not accepted by the C compiler when --no-inlining option used |
Not planned |
SMRT-371 |
C++ compiler generates code not accepted by the C compiler when --g++ option used |
Not planned |
SMRT-374 |
PPU Interrupt handlers do not end up in interrupt table |
Not planned |
SMRT-377 |
Compiler ignores variable value change after this has been passed by reference in a function call |
Not planned |
SMRT-383 |
Inconsistent W549 condition is always true warning, depending on the constant propagation optimization setting |
Not planned |
SMRT-388 |
Compiler overwrites a complete byte in a bitstruct whereas only two bits are modified |
Not planned |
SMRT-393 |
Wrong code generation for an if-else statement |
Not planned |
SMRT-394 |
Erroneous code generated for C++ code using __disable_and_save and __restore intrinsics |
Not planned |
SMRT-395 |
Wrong symbol value for empty copy table sub-table |
Not planned |
SMRT-396 |
Auto-vectorization may produce an "infinite" loop |
Not planned |
SMRT-398 |
Memory access trap due to empty copy table for core1 |
Not planned |
SMRT-399 |
C51 assembler: missing diagnostics for sfr bit type expressions |
Not planned |
SMRT-401 |
Erroneous code generation due to incomplete address register initialization |
Not planned |
SMRT-403 |
Missing diagnostic message W507 variable is possibly uninitialized |
Not planned |
SMRT-405 |
Unclarity about the interpretation of Safety Manual guideline "Verify object file" |
Not planned |
SMRT-406 |
C compiler error S900 internal consistency check failed - please report |
Not planned |
SMRT-407 |
User stack demand higher than calculated by the C compiler |
Not planned |
SMRT-408 |
Linker error E121 'relocation value out of range' when assembler optimizations disabled |
Not planned |
SMRT-413 |
Default near allocation is not disabled for floating point libraries |
Not planned |
SMRT-417 |
Linker feature --whole-archive ignores object modules without exported symbols |
Not planned |
SMRT-422 |
Run-time stack check will fail when project uses separate interrupt stack |
Not planned |
SMRT-425 |
Struct alignments for bit-fields not always EABI compliant |
Not planned |
SMRT-426 |
Incorrect alignment of vstack |
Not planned |
SMRT-427 |
Control program: incorrect handling of -L option without argument |
Not planned |
SMRT-429 |
Purpose of guideline "Generate intermediate files and diagnostics files" is not clearly specified |
Not planned |
SMRT-430 |
Linker assigns two PPU variables to the same memory location incorrectly |
Not planned |
SMRT-436 |
C compiler: unexpected "Assertion failed" when using _Alignas for an object with block scope |
Not planned |
SMRT-437 |
Compiler issues ld.dd instructions to read data from EEPROM (DFLASH) memory which is not permitted |
Not planned |
SMRT-447 |
Optimization ignores __weak__ attribute in the code |
Not planned |
SMRT-449 |
LSL macro NOXC800INIT is not documented |
Not planned |
SMRT-451 |
C compiler error S917: internal consistency check failed - please report |
Not planned |
SMRT-453 |
MISRA C:2012 rule 5.3 violation when math.h and libfloat.h are included |
Not planned |
SMRT-459 |
Overlapping sections created when a reserved section is used with a memory fill entry |
Not planned |
SMRT-471 |
Example included in chapter 7.9.12. Stack Size Estimation is erroneous |
Not planned |
SMRT-479 |
ARC return of struct in register falls through |
Not planned |
SMRT-487 |
C compiler: VLA: error S911: internal consistency check failed - please report |
Not planned |
SMRT-491 |
Trap encountered when debugging an elf file while the hex file works normal |
Not planned |
SMRT-492 |
Loading specific ELF file in the debugger takes a long time to complete |
Not planned |
SMRT-495 |
Erroneous reserved size calculated in memory usage section |
Not planned |
SMRT-496 |
C Compiler: _Bool - incorrect expression evaluation |
Not planned |
SMRT-497 |
Compiler conducts a signed division instead of an unsigned one in a specific use case |
Not planned |
SMRT-500 |
C compiler ignores cast in a specific use case for a function return value |
Not planned |
SMRT-502 |
Compiler: incorrect return value |
Not planned |
SMRT-508 |
Copy table processing for other cores than core 0 causes a bus trap |
Not planned |
SMRT-509 |
C compiler may leave empty .src file when it is killed |
Not planned |
SMRT-514 |
Header file setjmp.h - MISRA C check disabling not restored to default |
Not planned |
SMRT-515 |
Erroneous code when loading a _Bool type variable into a char type using a _Bool pointer in an inline function |
Not planned |
SMRT-522 |
Generate debug information for used symbols only |
Not planned |
SMRT-528 |
Compiler generates wrong code for loops with 64-bit iterators |
Not planned |
SMRT-529 |
Header file Ifx_TypesReg.h does not support C++ compiler usage |
Not planned |
SMRT-538 |
User stack pointer 4-byte aligned when interrupt occurs between FCALL and FRET |
Not planned |
SMRT-540 |
Flow optimization causes missing read operation |
Not planned |
SMRT-543 |
Compiler carc misses check for __vccm pointer qualifier |
Not planned |
SMRT-549 |
Wrong ABS pattern optimization for float or double |
Not planned |
SMRT-551 |
Tool elfstrip breaks weak definition replacement for references in same object file |
Not planned |
SMRT-552 |
Incremental linking breaks weak definition replacement for references in same object file |
Not planned |
SMRT-554 |
Structs including function or data pointers are not initialized in a PIM application |
Not planned |
SMRT-556 |
Invalid strength reduction for subscript with unsigned wraparound |
Not planned |
SMRT-559 |
DSP-C: Constant folding involving fixed-point types may produce incorrect results |
Not planned |
SMRT-560 |
Wrong bit-field alignment for a short type member of a struct |
Not planned |
SMRT-561 |
Stack is not initialized for some __channel functions with run-time library calls |
Not planned |
SMRT-568 |
PPU uncached variables are accessed from TriCore side via cached addresses |
Not planned |
SMRT-570 |
Forward store optimization for weak variable causes NULL pointer dereference |
Not planned |
SMRT-572 |
PPU C compiler does not generate instructions bypassing the cache |
Not planned |
SMRT-575 |
Only the first quarter of the PPU image is copied by _ppu_init routine |
Not planned |
SMRT-577 |
Variable with the attribute uncached gets located in CPUcs.DSPR memory (0x10000000) |
Not planned |
SMRT-578 |
MISRA global rules are not checked when only one module is supplied |
Not planned |
SMRT-579 |
An atomic_flag type variable (stdatomic.h) ends up in cached memory |
Not planned |
SMRT-583 |
Call graph not correct for aliases |
Not planned |
SMRT-585 |
TriCore compiler does not warn about an extern __uncached__ variable declaration |
Not planned |
SMRT-586 |
Loop invariant code optimization issue |
Not planned |
SMRT-587 |
Wrong iterator values after jumping into loop |
Not planned |
SMRT-589 |
MOVL optimized out even when zero status bit is significant |
Not planned |
SMRT-590 |
Object dump tools issue incorrect assembly instruction 'NOR' instead of 'NOT' |
Not planned |
SMRT-592 |
Evaluation of floating expressions involving NaN may produce wrong results |
Not planned |
SMRT-594 |
Compiler conducts a signed modulo calculation instead of unsigned |
Not planned |
SMRT-599 |
Memory access out of bounds due to a missing conversion of the loop increment |
Not planned |
SMRT-601 |
Absolute placement of sda group fails due to erroneous arch_ppu.lsl LSL file content |
Not planned |
SMRT-608 |
Incorrect constant propagation |
Not planned |
SMRT-609 |
C compiler c51 generates wrong code |
Not planned |
SMRT-621 |
Compiler generated code reads from uninitialized stack address |
Not planned |
SMRT-622 |
Erroneous code for XOR assignment in a nested loop |
Not planned |
SMRT-623 |
C compiler ignores cast in a specific use case for a function return value |
Not planned |
SMRT-635 |
Compiler generates ld.da/st.da instructions for copying 8-byte structs in peripheral memory |
Not planned |
SMRT-640 |
Software FP implementation of float16 type conversion does not raise inexact exception on overflow |
Not planned |
SMRT-644 |
errno is not a macro |
Not planned |
SMRT-652 |
C compiler generates incorrect array index values |
Not planned |
SMRT-655 |
FP library: incorrect missing FE_INVALID exception |
Not planned |
SMRT-660 |
C++ compiler allows #defining a keyword |
Not planned |
SMRT-661 |
C++ compiler implementation of std::is_trivial<> does not check all destructor requirements |
Not planned |
SMRT-664 |
C++ compiler does not detect certain invalid namespace redeclarations |
Not planned |
SMRT-665 |
C++ compiler does not detect constexpr use of defaulted constructor that cannot be constexpr |
Not planned |
SMRT-667 |
C++ compiler does not ignore explicit conversion functions for implicit conversion |
Not planned |
SMRT-669 |
C++ compiler accepts pointer to integer casts in constant expressions |
Not planned |
SMRT-670 |
Problems using an alias for the destructor invocation of a templated class |
Not planned |
SMRT-672 |
C++ compiler template resolution may fail when explicit template parameters are provided in function use |
Not planned |
SMRT-673 |
C++ compiler does not emit error for empty attribute list on member declaration without declarator |
Not planned |
SMRT-675 |
C++ compiler accepts auto specifier with multiple trailing return type function declarations |
Not planned |
SMRT-687 |
Optimization error when register names used as C variable names |
Not planned |
SMRT-697 |
Incorrect peephole optimization for specific use case |
Not planned |
SMRT-70 |
Inconsistent .cproject file content after a project clean |
Not planned |
SMRT-704 |
Invalid floating-point transformation x - x == 0 |
Not planned |
SMRT-711 |
Function strcpy() can produce bus interrupt |
Not planned |
SMRT-713 |
Function strcmp() can produce bus interrupt |
Not planned |
SMRT-715 |
Assembler emits an invalid call when the offset between functions at fixed addresses (__at) is too large |
Not planned |
SMRT-717 |
Common debug info section generated by C compiler may contain references to code sections |
Not planned |
SMRT-718 |
carc S900: internal consistency check failed - please report |
Not planned |
SMRT-723 |
C compiler: missing cast to short |
Not planned |
SMRT-729 |
C compiler error ctc S917: internal consistency check failed due to erroneous loop optimization |
Not planned |
SMRT-730 |
Erroneous spilling of 64-bit variables |
Not planned |
SMRT-737 |
Erroneous code due to a missing cast in a specific use case |
Not planned |
SMRT-739 |
Wrong result for signed right shift-and with immediate values |
Not planned |
SMRT-744 |
ARC linker rejects object files with zero e_flags field when targeting TC4Dx |
Not planned |
SMRT-747 |
Incorrect sign extension for compound operation on bit-field with -OE |
Not planned |
SMRT-751 |
Store merging may give wrong result |
Not planned |
SMRT-757 |
High byte missing from short with --mil-split |
Not planned |
SMRT-759 |
Erroneous code for do-while loop |
Not planned |
SMRT-772 |
C++ compiler does not emit error for lambda function with parameter without default argument following parameter with default argument |
Not planned |
SMRT-773 |
Compiler reports false positive warning W529 for a use case |
Not planned |
SMRT-776 |
C compiler error S911: internal consistency check failed for a use case using goto labels |
Not planned |
SMRT-778 |
Compiler ignores cast in a specific use case |
Not planned |
SMRT-779 |
C compiler should not issue warning W542: missing braces around initializer for a universal zero initialization |
Not planned |
SMRT-781 |
C Compiler: incorrect shift calculation for long long cast int |
Not planned |
SMRT-787 |
Read from union member incorrectly removed by optimization |
Not planned |
SMRT-788 |
C Compiler: incorrect optimization of cast operation from int to short |
Not planned |
SMRT-789 |
C Compiler: assignment in loop ignored |
Not planned |
SMRT-797 |
Linker does not verify a possible overlap in the section name in a section select statement |
Not planned |
SMRT-809 |
Loop with iterator wrap-around terminates prematurely |
Not planned |
SMRT-810 |
Missing diagnostic for an empty include file name |
Not planned |
SMRT-811 |
Missing diagnostic for *&non_lvalue |
Not planned |
SMRT-812 |
Constant expressions are more general than defined by the C standard |
Not planned |
SMRT-813 |
Missing diagnostic for some cases with name redeclaration |
Not planned |
SMRT-814 |
Missing diagnostic for some uses of the _Alignof operator |
Not planned |
SMRT-815 |
setjmp is not defined as a macro |
Not planned |
SMRT-816 |
Wrong code generation when pure functions are used |
Not planned |
SMRT-820 |
Incorrect iteration count when iterator limit variables have very large values |
Not planned |
SMRT-825 |
Control program passes option -gsl to the assembler when -g is used in the invocation |
Not planned |
This is a list of issues that have been closed with a resolution other than fixed. This list contains issues that will not be fixed, issues that appeared to be not a problem and/or issues that could not be reproduced. The list of fixed issues for v10.1r1 is not shown here, it is included in the release notes of the product.