Open and Closed Issues for TASKING SmartCode v10.1r1Log in

Open Issues

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.

Problems

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

Closed Issues

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.

Won't Fix

IDSummary
SMRT-911 An Eclipse project import of a TC4Dx project created in SmartCode v10.2r1 into SmartCode v10.3r1 loses the processor setting

Table of ContentsBack