MSP430 Code Generation Tools Release Version 4.1.3 Defect History November 2012 ------------------------------------------------------------------------------ Table of Contents ------------------------------------------------------------------------------ 1. 4.1.3 Fixed Defects 2. 4.1.2 Fixed Defects 3. 4.1.1 Fixed Defects 4. 4.1.0 Fixed Defects 5. 4.1.0B1 Fixed Defects 6. Current Known Issues ------------------------------------------------------------------------------ 1. 4.1.3 Fixed Defects ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ FIXED SDSCM00044285 ------------------------------------------------------------------------------ Summary : scanf %[^ mistakenly writes EOF to output Fixed in : 4.1.3 Severity : S2 - Major Affected Component : C/C++ Compiler (cl) Description: When using ^ to negagte the scan set [ sscanf(in, "%[^abc]", out) ], scanf would incorrectly copy EOF to the output string. It should instead stop reading input and return as normal. ------------------------------------------------------------------------------ FIXED SDSCM00045232 ------------------------------------------------------------------------------ Summary : Incorrect linker symbol value after multiple partial links Fixed in : 4.1.3 Severity : S2 - Major Affected Component : ELF Linker Description: Linker symbols whose values depend on section placement were getting assigned absolute values instead of section relative values in partial links. These are symbols that are defined using the '.' operator, and/or those defined using the linker command file keywords such as START, END, LOAD_START etc. As a result, the final link would assign incorrect values to these symbols. ------------------------------------------------------------------------------ FIXED SDSCM00045292 ------------------------------------------------------------------------------ Summary : Internal error "no match" when using long long bit rotate Fixed in : 4.1.3 Severity : S2 - Major Affected Component : C/C++ Compiler (cl) Description: The compiler recognizes some logical shift operations as bit-rotate idioms. If the compiler recognizes a 64-bit expression as a bit-rotate idiom where the shift count is anything but one bit to the left, the compiler will emit a "no match" internal error. The specific message will usually be "no match for ROTL," but it could be other names. ------------------------------------------------------------------------------ FIXED SDSCM00045449 ------------------------------------------------------------------------------ Summary : Workaround for silicon bug CPU42 Fixed in : 4.1.3 Severity : S2 - Major Affected Component : C/C++ Compiler (cl) Description: Silicon bug CPU42 appears when an enable interrupt (EINT) instruction is followed immediately by a disable interrupt (DINT) instruction. The solution is to place a NOP in between the two instructions when the --silicon_errata=CPU42 option is specified. The option is disabled by default. If the --silicon_errata option is enabled in the assembler and an EINT followed immediately by a DINT is encountered, the assembler will issue a warning that the assembly instruction sequence may expose a silicon bug. ------------------------------------------------------------------------------ 2. 4.1.2 Fixed Defects ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ FIXED SDSCM00038353 ------------------------------------------------------------------------------ Summary : Weak functions not implemented for MSP EABI Fixed in : 4.1.2 Severity : S3 - Minor Affected Component : ELF Linker Description: MSP EABI supports weak function references, but these were not yet implemented. ------------------------------------------------------------------------------ FIXED SDSCM00043174 ------------------------------------------------------------------------------ Summary : Linker fails to honor specific placement for function from RTS library Fixed in : 4.1.2 Severity : S2 - Major Affected Component : COFF Linker Description: Linker now honors section placement specification. ------------------------------------------------------------------------------ FIXED SDSCM00043713 ------------------------------------------------------------------------------ Summary : Linker fails with internal error Fixed in : 4.1.2 Severity : S2 - Major Affected Component : Linker ------------------------------------------------------------------------------ FIXED SDSCM00044048 ------------------------------------------------------------------------------ Summary : Enabling vectorization produces incorrect code Fixed in : 4.1.2 Severity : S2 - Major Affected Component : Optimizer Description: In certain cases, enabling vectorization could result in incorrect code being generated. ------------------------------------------------------------------------------ FIXED SDSCM00044736 ------------------------------------------------------------------------------ Summary : Loop nest over two-dimensional array compiles wrong if inner loop has early exit Fixed in : 4.1.2 Severity : S2 - Major Affected Component : Optimizer Description: A simple loop nest that iterates over a two-dimensional array, or at least a data structure with two indexed parts (eg, x[i].y[j]), may compile incorrectly if the inner loop has a conditional break. The compiler converts the indexing into increments, with a correction amount at the end of the inner loop, and the early exit causes the converted code to misbehave. The listed workaround avoids the transformation and thus avoids the bug. The solution in the compiler is to recognise the early break and skip the transformation. ------------------------------------------------------------------------------ FIXED SDSCM00044781 ------------------------------------------------------------------------------ Summary : _swap_bytes mistakenly writes twice to volatile variable Fixed in : 4.1.2 Severity : S2 - Major Affected Component : Code Generator Description: If the value of an instance of the __swap_bytes intrinsic is assigned to a volatile memory location, the compiler could mistakenly use the byte swap direction on the volatile memory location. ------------------------------------------------------------------------------ FIXED SDSCM00045105 ------------------------------------------------------------------------------ Summary : Empty struct as field of parent struct may cause optimiser abort Fixed in : 4.1.2 Severity : S2 - Major Affected Component : Optimizer Description: If a struct contains another struct, and the inner struct has no fields, and the parent struct is copied whole through an assignment of struct-type variables, the optimiser may abort. ------------------------------------------------------------------------------ 3. 4.1.1 Fixed Defects ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ FIXED SDSCM00037422 ------------------------------------------------------------------------------ Summary : Incorrect layout in .cdecls struct Fixed in : 4.1.1 Severity : S3 - Minor Affected Component : Assembler Description: The attached test case defines a structure which contains a union. The last field in the structure is assigned the offset 9 by the compiler. The assembler, via .cdecls, assigns that same field the offset 10. ------------------------------------------------------------------------------ FIXED SDSCM00041434 ------------------------------------------------------------------------------ Summary : Compiler optimizes away certain calls to assert() Fixed in : 4.1.1 Severity : S3 - Minor Affected Component : Absolute Lister Description: Certain assert() statements, most notably "assert(x&1)" and the equivalent "assert(x%2==0)", may be removed by the compiler and thus will not do the run-time condition check that is desired. ------------------------------------------------------------------------------ FIXED SDSCM00042242 ------------------------------------------------------------------------------ Summary : Generating incorrect debug info for longs for MSP Fixed in : 4.1.1 Severity : S2 - Major Affected Component : C/C++ Compiler (cl) Description: Fixed issue where CCS expressions view does not correctly display values larger than 16 bits stored in registers for MSP430X devices. Fix requires CCS 5.2 or later. ------------------------------------------------------------------------------ FIXED SDSCM00042292 ------------------------------------------------------------------------------ Summary : In EABI mode string literals used in member functions result in static members of the class and not placed in .const.string Fixed in : 4.1.1 Severity : S2 - Major Affected Component : Parser Description: In the attached file, the class member Aoperation uses string literals. Instead of creating the string literals the parser is generating static char array member and initializes it to the string chars. ------------------------------------------------------------------------------ FIXED SDSCM00043607 ------------------------------------------------------------------------------ Summary : ELF PCR20 relocations don't use correct PC Fixed in : 4.1.1 Severity : S2 - Major Affected Component : Assembler Description: For MSP430X EABI (ELF), any instruction using a 20-bit symbolic addressing mode which refers to an object or function in a different section will access or call the wrong address. The compiler does not generate code triggering this bug. ------------------------------------------------------------------------------ FIXED SDSCM00043721 ------------------------------------------------------------------------------ Summary : Upper 32 bits of 64-bit multiplication corrupted on F5 hardware Fixed in : 4.1.1 Severity : S2 - Major Affected Component : C/C++ Compiler (cl) Description: When using --use_hw_mpy=F5, the 64-bit multiplication routine (for "long long int" multiplication) would corrupt the upper 32 bits of the result. ------------------------------------------------------------------------------ FIXED SDSCM00043868 ------------------------------------------------------------------------------ Summary : Linker cannot find include file specified with relative path Fixed in : 4.1.1 Severity : S2 - Major Affected Component : Linker Description: This bug occurs because the linker does not properly reset the source path after processing an #include, causing a second #include to be relative to the wrong path. Any intervening token between the two #include directive will overcome this, as will any macro expansion (even if empty). For example: #define SPACE #include "../first.cmd" SPACE #include "../second.cmd" ------------------------------------------------------------------------------ FIXED SDSCM00043932 ------------------------------------------------------------------------------ Summary : Valid instruction RLAX.A Rdst causes internal error Fixed in : 4.1.1 Severity : S3 - Minor Affected Component : Assembler Description: The emulated instruction "RLAX.A Rdst" is actually implemented as "ADDA Rdst, Rdst." However, the assembler crashes with an internal error if the former is used. ------------------------------------------------------------------------------ FIXED SDSCM00043948 ------------------------------------------------------------------------------ Summary : IF predicate with negative integer factor simplifies incorrectly Fixed in : 4.1.1 Severity : S2 - Major Affected Component : Optimizer Description: An IF predicate with a negative integer factor -- eg, "if (x*(-3) == -9)" -- may be simplified incorrectly, for instance to "if (x == -3)" instead of the correct "if (x == 3)". ------------------------------------------------------------------------------ FIXED SDSCM00044216 ------------------------------------------------------------------------------ Summary : Link time optimization produces error about option --optimize_with_debug missing its argument Fixed in : 4.1.1 Severity : S2 - Major Affected Component : C/C++ Compiler (cl) Description: An optional parameter of on/off was added to the --optimize_with_debug option. During link time optimization (-o4), an internal tool incorrectly requires the option have a parameter, which it won't if the object file was built with an older tool chain. The bug has been fixed and the tool will accept the option with no parameter, which will be interpreted as --optimize_with_debug=on. ------------------------------------------------------------------------------ 4. 4.1.0 Fixed Defects ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00042242 ------------------------------------------------------------------------------ Summary : Generating incorrect debug info for longs for MSP Fixed in : 4.1.0 Severity : S2 - Major Affected Component : C/C++ Compiler (cl) Description: When using --program_level_compile on a combined list of .c files the CCS expressions view does not correctly display long variables for MSP430X devices. When long variables are stored in registers they are stored in a register pair, but it seems that only one register's contents (lower bits) is written to expressions view. The compiler itself seems to be storing and using correct values, it only seems a problem in the CCS display. ------------------------------------------------------------------------------ FIXED SDSCM00043485 ------------------------------------------------------------------------------ Summary : ULP advisor check for rule #1 limited to last .c file in list when using --program_level_compile Fixed in : 4.1.0 Severity : S2 - Major Affected Component : C/C++ Compiler (cl) Description: When using --program_level_compile on a combined list of .c files the LPM build attribute was always "1" for the combined .obj, resulting in an erroneous ULP warning about rule #1 from the linker, even though there was LPM code linked into the app. With some experimentation it was determined that the last .c file in the list of .c files must have the LPM stuff, otherwise the overall build attribute for the .obj is "1". ------------------------------------------------------------------------------ FIXED SDSCM00043507 ------------------------------------------------------------------------------ Summary : MSP CGT 4.1.0B1 beta testing bugs for ULP advisor Fixed in : 4.1.0 Severity : S3 - Minor Affected Component : Parser Description: - fix rule 8.1 for array cases. assignments to arrays and still remark 8.1 - update rule 8.1 to NOT flag variables that are volatile - issue with while (FCTL3 & BUSY) being flagged for rule 2 when it is an exception to rule 3. So should not get remark for rule 2 or 3. ------------------------------------------------------------------------------ 5. 4.1.0B1 Fixed Defects ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ FIXED SDSCM00042811 ------------------------------------------------------------------------------ Summary : printf("%d") with negative values incorrect for printf_support=minimal Fixed in : 4.1.0B1 Severity : S2 - Major Affected Component : C/C++ Compiler (cl) Description: printf("%d") is treated as printf("%u") for --printf_support=minimal, which means negative values will be printed incorrectly. Workaround: Use printf_support=nofloat ------------------------------------------------------------------------------ 6. Current Known Issues ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008248 ------------------------------------------------------------------------------ Summary: Compilers on PC will not work without TMP set Description: When compiling on the PC, the code generator cannot find the icode file produced by the parser if the environment variable TMP is no set. If TMP is set, then all appears well. ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008251 ------------------------------------------------------------------------------ Summary: Printf format '%#04x' fills zeros into wrong location ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008276 ------------------------------------------------------------------------------ Summary: Linker accepts illegal address ranges and truncates to a valid address ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008340 ------------------------------------------------------------------------------ Summary: directory name with '(' character causes linker error ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008380 ------------------------------------------------------------------------------ Summary: Linker corrupts DWARF information when c-linking partially linked files ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008406 ------------------------------------------------------------------------------ Summary: Virtual Inheritance information incorrect for DWARF ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008413 ------------------------------------------------------------------------------ Summary: Static data members missing DW_AT_specification attribute in DWARF ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008414 ------------------------------------------------------------------------------ Summary: DWARF does not model nested types correctly ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008465 ------------------------------------------------------------------------------ Summary: Codegen crash because of void pointer dereference ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008466 ------------------------------------------------------------------------------ Summary: DWARF problem static variables not placed in the right lexical block ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008467 ------------------------------------------------------------------------------ Summary: TI DWARF bug struct parameters are marked as pointers ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008537 ------------------------------------------------------------------------------ Summary: assembler expression ~(0x80000000) evaulates as 0x80000000 ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008543 ------------------------------------------------------------------------------ Summary: Forward reference in .space generates an internal error ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008630 ------------------------------------------------------------------------------ Summary : printf gives wrong value for pointer when its value is incremented ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008652 ------------------------------------------------------------------------------ Summary: pow(2,x) has fairly significant rounding error ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008685 ------------------------------------------------------------------------------ Summary: DWARF does not correctly represent variables stored in register pairs ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008690 ------------------------------------------------------------------------------ Summary: STABS variables declared in loop bodies are promoted to function scope ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008928 ------------------------------------------------------------------------------ Summary: Extern inline functions are not supported ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00008930 ------------------------------------------------------------------------------ Summary: C++ allows enumerators larger than 'int' but C6x Compiler does not ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00013456 ------------------------------------------------------------------------------ Summary: fgets in _IONBF mode does not respect size limit ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00014430 ------------------------------------------------------------------------------ Summary: calloc doesn't check arguments to make sure the requested size is reasonable ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00016782 ------------------------------------------------------------------------------ Summary: linker is giving a reference error for a dead function ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00018691 ------------------------------------------------------------------------------ Summary: Linker gives misleading warning when dot expressions used in SECTION directive for .stack section ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00023532 ------------------------------------------------------------------------------ Summary: C++ Perennial test cases cause PC optimizer to hang (or at a minimum executes for hours before exiting) ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00030125 ------------------------------------------------------------------------------ Summary: Linker generates confusing error message and fails ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00035379 ------------------------------------------------------------------------------ Summary: C++ requires overloaded abs() and div() in stdlib.h ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00036146 ------------------------------------------------------------------------------ Summary: During -O4, the compiler creates the .cl file in the current directory instead of as a temp file ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00036474 ------------------------------------------------------------------------------ Summary: DWARF .debug_info section has multiple instances of the same string even after --compress_dwarf is used. ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00036663 ------------------------------------------------------------------------------ Summary: Incorrectly performing function specialization with -o4 ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00037170 ------------------------------------------------------------------------------ Summary: Embed does not handle cross-filesystem rename correctly ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00037328 ------------------------------------------------------------------------------ Summary: _c_int00_*mpu_init functions should be in ".text_isr" ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00038385 ------------------------------------------------------------------------------ Summary: Defaulting to automatic RTS library selection causes linker to not recognize rts library specified in linker command file ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00039675 ------------------------------------------------------------------------------ Summary: MSP430 assembler problem with PC relative addressing in pseudo instructions Description: When there are two PC-relative operands in the same instructions, one of the PC offsets may not be encoded correctly. ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00040650 ------------------------------------------------------------------------------ Summary: If specifying 400 or more to precision of output format specifier, it is shut down incorrectly. ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00040658 ------------------------------------------------------------------------------ Summary: The assignment of value using pointer for the method of "static" struct or union is not done correctly. ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00040665 ------------------------------------------------------------------------------ Summary: Internal Compiler Error ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00040934 ------------------------------------------------------------------------------ Summary: Structure is not initialized correctly when using -o2 or -o3 optimization ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00042327 ------------------------------------------------------------------------------ Summary : Compiler reports incorrect violation of Misra 10.1 ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00042328 ------------------------------------------------------------------------------ Summary : Compiler reports incorrect violation of Misra 6.1 ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00042344 ------------------------------------------------------------------------------ Summary : Compiler sometimes generates internal error: illegal initialization or segmentation fault when using gcc extension nested designed initializers. Work around: The seg fault can be worked around if the nested designated initializer is removed. ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00042444 ------------------------------------------------------------------------------ Summary : Expression that multiplies two constants incorrectly triggers MISRA rule 10.1 about implicit conversion Description: The expression ... var_int16 = 4 * 256; contains no implicit conversions. However, MISRA rule 10.1 about no implicit conversions is still emitted for that expression. ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00042600 ------------------------------------------------------------------------------ Summary : Ill advised enum scalar usage gets MISRA diagnostic, but similar usage of enum array does not ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00042839 ------------------------------------------------------------------------------ Summary : Update linker command files shipped with product to allocate .data Affected Component : Runtime Support Libraries (RTS) Description: EABI changes the set of data sections generated by the compiler. All linker command files need to be updated to allocate .data Otherwise, you get: warning: creating output section ".data" without a SECTIONS specification .data is not a new section. It is the usual section for data in hand-code assembly. However, the MSP compiler will never generate a use of the .data section in COFF ABI (unless the user explicitly uses DATA_SECTION). Thus, the linker command file should be prepared to place .data even for COFF ABI. Here is the list of target content sections that are generated by the MSP compiler for EABI mode but not COFF ABI mode: .data (read/write data) .mspabi.exidx (read-only metadata) .mspabi.extab (read-only metadata) .init_array (new name for .pinit, which is read-only data) ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00043485 ------------------------------------------------------------------------------ Summary : ULP advisor check for rule #1 limited to last .c file in list when using --program_level_compile Affected Component : C/C++ Compiler (cl) ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00043605 ------------------------------------------------------------------------------ Summary : Linker segfaults linking partially linked file when partial link includes RTS library, ELF, and exceptions Affected Component : ELF Linker ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00043917 ------------------------------------------------------------------------------ Summary : Images not displayed when no Internet connection when using ULP Advisor Affected Component : Linker ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00043998 ------------------------------------------------------------------------------ Summary : The compiler option setting for Function Subsections displays an empty drop-down list Affected Component : C/C++ Compiler (cl) ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00044056 ------------------------------------------------------------------------------ Summary : Compiler misreports Misra warning 10.1 Affected Component : C/C++ Compiler (cl) Description: Compiler misreports MISRA warning 10.1/R for the following code. typedef enum _MyEnum { One, Two } MyEnum; MyEnum MyVariable; int foo(void) { int result = 1; if (One == MyVariable) // fails here with MISRA-C2004 10.1/R { result = 2; } return result; } ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00044121 ------------------------------------------------------------------------------ Summary : Linker option --retain is not displayed in CCS GUI or when typing cl430 --help Affected Component : ELF Linker ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00044163 ------------------------------------------------------------------------------ Summary : TI MSP430 compiler generates invalid local variable location debug info when optimization is turned on. Affected Component : C/C++ Compiler (cl) ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00044286 ------------------------------------------------------------------------------ Summary : Linker cannot extract a subsection from a library module Affected Component : Linker Description: The user supplies an implementation of putchar. The function fputc is also called. Upon linking, this error message is observed error symbol "putchar" redefined first defined in "try1.obj"; redefined in "C\Program Files\Texas Instruments\ccs5_2\ccsv5\tools\compiler\msp430\lib\rts430.lib" Both putchar and fputc are defined in the RTS library module fputc.obj. But they are each in their own subsection. ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00044836 ------------------------------------------------------------------------------ Summary : Prototypes for certain intrinsics are missing from the intrinsics.h file Affected Component : C/C++ Compiler (cl) Description: Looking at the intrinsics.h header file, it is missing prototype information for following intrinsic functions •_no_operation() •_data16_read_addr() •_data16_write_addr() To meet good C programming style, each function should have its own prototypes. Indeed the code compiles without errors, because these are all intrinsic functions. But they still lack the necessary information to the prototype. ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00045417 ------------------------------------------------------------------------------ Summary : bool and _Bool are not defined correctly Affected Component : C/C++ Compiler (cl) Description: The C++ type "bool" and the C99 type "_Bool" should have the same type, but in the TI toolset they have different sizes, which means that C++ modules which use "bool" are not compatible with C modules which include stdbool.h and use "bool". ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00045452 ------------------------------------------------------------------------------ Summary : Compiler misreports MISRA warning 17.6 Affected Component : C/C++ Compiler (cl) ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00045473 ------------------------------------------------------------------------------ Summary : Compiler misreports violation of Misra 9.2 for zero initialization of structures Affected Component : C/C++ Compiler (cl) Description: Compiler misreports violation of Misra 9.2 for zero initialization of structures. ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00045480 ------------------------------------------------------------------------------ Summary : Designated initializer with anonymous struct causes internal error Affected Component : Parser Description: An attempt to use a designated initializer for a structure member which is an anonymous union leads to an internal error. ------------------------------------------------------------------------------ KNOWN ISSUE SDSCM00045550 ------------------------------------------------------------------------------ Summary : Compiler generates incorrect code with -o3/-o4 and --opt_for_speed=4 Affected Component : Optimizer