This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DefectHistory.txt for MSP CGT 4.1.3

Could someone please post the DefectHistory.txt for MSP CGT 4.1.3? Or point to where they are on a TI website? I'd like to see them before updating.

Thanks.

  • Hi Dan,

    I downloaded the compiler. Here is the file you asked for.

    Alternatively, you can track known issues in SDOWP (Public Queries->Development Tools->TI C-C++ Compiler.

     

    Best regards

    Christian

    6153.DefectHistory.txt
    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<fputc.obj
    >"
    
    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
    

  • Thanks.

    I have used the SDOWP before but it's nice to have a "what's fixed" document up front with the update notice. TI has this information posted for most of the other compilers (see https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm) but not for the MSP430. Also, some of the query subfolders under "TI C-C++ Compiler", e.g. "Defect History Lists" and "Defects By Target" only address the 3.X.Y compiler, not 4.X.Y. 

    -Dan