Tool News
 
 
 

Tool News

Products Info
Downloads
Tools FAQs
MESC TOOL NEWS: MESCT-CC16-980516D

CC16 V.3.10 Release 4 Upgraded Version
and Its Windows 95/NT 4.0 Version Announcement

Mitsubishi announces that cross tool kit CC16 for the M16 family of microcomputers has been upgraded to CC16 V.3.10 Release 4 and its Windows 95/NT 4.0 version issued.



Changes Involved in Upgrading
The following changes have been made and problems fixed in the upgraded version.

  1. C Compiler (cc16)

    1. Problem: Bit field members are incorrectly referenced
      The problem that bit field members may not correctly be referenced if all of the following seven conditions are satisfied has been fixed.

      [Conditions]

      1. Options including optimizing level 2 (-O2, -O3, -O6, -O7, -O, -Otime only, and -Ospase only) are given at compiling.
      2. A constant, variable, bit field member, or operation including them is assigned to another bit field member. Also, each of their values, except for the operation of 1's complement, is out of the range of the values the bit field member to which it has been assigned can express. In the operation of 1's complement, the result is any one of the following values:
        • It is out of the range of the values the bit field member to which the assignment has been done can express.
        • Although it is within the above range, the right side term of the expression is unsigned, and references are made to include the outside of the above range.
        • Although it is within the above range, the right side term of the expression is unsigned, and the reference in condition (6) is made to ask whether the value of the bit field member is true or false if it becomes 0.
      3. The data type of the bit field member described in (2) is char, unsigned char, short, or unsigned short.
      4. Type modifier volatile is not declared to the bit field member described in (2) or its structure.
      5. The bit width of the bit field member described in (2) is 15 (1 through 15), except that if the data type of the bit field member is short or unsigned short, the bit width is 8 (8 through 15).
      6. The bit field member described in (2) is referenced.
      7. No function call, branch statement, or assignment to other bit field member is described between the assignment in (2) and reference in (6).
      [Description Example]------------------------------------------------
        struct st { 
      	unsigned short	a:   10;  /* <- conditions (3), (4), (5) */
        } S;
        unsigned short  x;
        void foo ( void )
        {
      	S.a = 0xff80; /* <- condition (2) */
      		      /* <- condition (7) */
        	x = S.a	      /* <- condition (6): x becomes just 0x380 */
        }
      ---------------------------------------------------------------------
      
    2. Problem: The debug information of the enum value defined as negative is converted to a positive value
      This problem has been fixed.
    3. Problem: Compiling a bit field structure with an initial value by using the -pack option results in an internal error
      The problem that an internal error occurs if all of the following four conditions are satisfied has been fixed.

      [Conditions]
      1. The -pack option (structure packing function) is given at compiling.
      2. Bit fields are included in members of a structure.
      3. The remainder of the sum of the bit lengths specified by contiguous bit field members divided by 32 is between 17 and 24.
      4. This structure is statically initialized.
      [Description Example]-----------------------------------------------
        struct st {
      	unsigned int a:8;  /* a, b, and c are contiguous values.     */
      	unsigned int b:8;  /* The sum of the bit lengths is          */
      	unsigned int c:8;  /* 8 + 8 + 8 = 24, and the remainder of   */
      	                   /* the sum divided by 32 is 24 % 32 = 24. */
        } A = { 1, 1, 1 }
      --------------------------------------------------------------------
      
    4. Problem: Data references by using the address of the argument of a function are incorrectly made
      The problem that data references by using the address of the argument of a function may not correctly be made if all of the following four conditions are satisfied has been fixed.

      [Conditions]
      1. The -RBPP option (using a register to pass an argument to a function) is given at compiling.
      2. The type of the argument of a function is char, unsigned char, short, or unsigned short.
      3. Before updating the argument described in (2), its address is referenced.
      4. Data is referenced using the address in (3)
      [Description Example]------------------------------------------------
        #include "stdio.h"
        void test(short *d)
        {
      	printf("%x", *d);  /* Condition (4): Correctly referenced */
        }
        void foo(short data)  /* Condition (2) */
        {
      	test(&data);  /* Condition (3) */
        }
      ---------------------------------------------------------------------
      

  2. Linker (link16)

    1. Change: Specifications of the overflow check of relocation size
      The specifications of the overflow check of relocation size made by the linker at assembling and linking an assembly language program have been changed.

      [Function of Linker]
      When an operand containing the external reference symbol or relative symbol of a displacement not determined prior to linking is used in an assembly language source, the assembler generates an object file containing undetermined areas. On the other hand, the linker relocates determined addresses to these areas to generate the load module with determined addresses.

      [Specifications of Overflow Check of Relocation Size]
      When relocating a determined address into an undetermined area, the linker examines whether the area has an enough space for relocating the address or not, and if not, it outputs an error message. The previous version assumes the message to be a warning, whereas the upgraded version assumes it to be an error and has, in addition, enlarged the scope of errors (see Tables 1 and 2).

      Table 1. For Relocated Area of 8 Bits Wide
      Address AreaUpdated VersionPrevious Version
      unsignedsigned
      --0xffffff7fErrorErrorWarning
      0xffffff80--0xffffffffErrorCorrectly relocatedCorrectly relocated
      0x00000000--0x0000007fCorrectly relocatedCorrectly relocatedCorrectly relocated
      0x00000080--0x000000ffCorrectly relocatedErrorCorrectly relocated
      0x00000100--ErrorErrorWarning

      Table 2. For Relocated Area of 16 Bits Wide
      Address AreaUpdated VersionPrevious Version
      unsignedsigned
      --0xffff7fffErrorErrorWarning
      0xffff8000--0xffffffffErrorCorrectly relocatedCorrectly relocated
      0x00000000--0x00007fffCorrectly relocatedCorrectly relocatedCorrectly relocated
      0x00008000--0x0000ffffCorrectly relocatedErrorCorrectly relocated
      0x00010000--ErrorErrorWarning


  3. C Standard Libraries (m16libc.lib, m16libcR.lib)

    1. Problem: When a value near an integral limit one is given to an argument of the mktime function, processing takes longer time.
      The problem that when a value near an integral limit one is given to tm_mon and tm_mday, i.e., members of the tm structure designated as arguments of the mktime function, processing takes longer time has been fixed.
    2. Problem: Negative values designated as arguments of the mktime function are incorrectly converted.
      The problem that when the following values are given to members of the tm structure designated as arguments of the mktime function, they cannot correctly be converted has been fixed.

      tm_hour = -24, -48,.......(multiples of -24)
      tm_min = -60, -120,.......(multiples of -60)
      tm_sec = -60, -120,.......(multiples of -60)

Operating Environment
CC16 VersionComputerOS
W95EIBM PC/AT or compatibleDOS prompt environment of Windows 95 or Windows NT 4.0


Ordering Information (CC16 has not been shipped, because it is a discontinued product.)
Table 3 shows the ordering information of CC16 V.3.10 Release 4. For inquiries on ordering, contact your local Renesas Technology sales office or distributor.

Table 3. Ordering Information
Type NameCC16 VersionCommentsPublishing Media
MSCH-TOOL-S-CCW95ECC16-W95ECD-ROM or CD-R


Free-of-Charge Upgrade Service (from the IBE version to the W95E version) (The upgrade service for CC16 has been terminated, because it is a discontinued product.)
  1. The free-of-charge upgrade service to CC16 V.3.10 Release 4 is available to the customers of CC16 who have submitted their user registration card.

  2. How to upgrade CC16
    If you want to upgrade CC16, please perform on-line upgrading in the following procedure:
    1. Copy and fill in the "CC16 free-of-charge license ID application form" and send it to us by Fax.
    2. We send you the license ID certificate by return.
    3. Download the upgraded CC16 version and its release note (release notes are written in PDF).
    4. Install CC16 from the downloaded binary. At this time, you are requested to enter your ID number that is inscribed in your license ID certificate. Follow the instructions of its installer.

  3. Notes on upgrades
    1. In the case free-of-charge upgrade service is not available, additional charge is needed.
    2. The manual and media of CC16 can be supplied with additional charge.
    3. Because the CC16 V.3.10 user's manual has not been revised, please use the manual as it is. If you need the manual, place the order of it.




© 2008. Renesas Technology Corp., All rights reserved. Privacy | Legal