CA78K0R

The product name of CubeSuite+, an integrated development environment from Renesas, 
has been changed to "CS+" from V. 3.00.00, which was released on October 1, 2014.

Changes from V1.71 to V1.72 (Mar. 7, 2016)

Rectified points for caution
    Points for caution on the following five items no longer apply.
    - Binary operators of identifiers which are qualified as volatile
    - Pre-incrementing, pre-decrementing, and post-decrementing array elements
    - Sequential access when array elements and structure or union members are cast from the near to the far attribute
    - The strcmp and strncmp functions returning incorrect values
    - The strtoul function returning incorrect values

Changes from V1.70 to V1.71 (Nov. 18, 2014)

Change in code output for DIVWU and DIVHU instructions
    When a DIVWU or DIVHU instruction is output as a result of compiling or assembling, 
    NOP instructions are placed immediately after the DIVWU or DIVHU instruction.

Changes from V1.60 to V1.70 (Jan. 31, 2014)

1. Increase in the Maximum Value for the Linker
    The maximum value for “Number of symbols (local + public + internally generated)” of the linker was increased.
      Before change:            65,535
      After change:   2,147,483,647

    The limits on symbols for the tools listed below, which handle output files from the linker, were also extended accordingly.
    - ROMization Processor
    - Object Converter
    - List Converter
    - Variables/Functions Information File Generator

2. Enhancement of Function for the RL78-S1 Core
    The function for checking directives in assembly when microcontrollers with the RL78-S1 core are specified as the target was enhanced. 
    The following directives now lead to errors.
    - SEL RB1, SEL RB2, SEL RB3

3. Remedies for Conditions Leading to Points for Caution
    We have remedied the conditions that led to the nine points for caution listed below.
    - Caution on incorrect code being output for the processing of multiple casts of floating-point constants
    - Caution on incorrect code being output for processing of the near/far qualifier for array pointers
    - Caution on incorrect code being output from multiplication, division, remainder arithmetic, and indirect reference expressions
    - Caution on the assert function not operating normally
    - Caution on return of an error when a one-bit-wide bit field is used in a conditional expression
    - Caution on the conversion of character strings by the strtol and strtoul functions producing incorrect numerical values
    - Caution on incorrect address reference being made in the case of reference to a symbol resolved by the assembler for the RL78-S1 core
    - Caution on incorrect code being output for the CALL directive
    - Caution on the BR and CALL directives producing errors

Changes from V1.50 to V1.60 (Feb. 1, 2013)

Addition of Assembler option -MIRCHK
    The assembler option -MIRCHK has been introduced.
    In the specification of assembly language, if a value out of the specified range is used as word size, an overflow error is outputted. 
    However, in case of a label in a mirror area even if its value is out of the range the error isn't outputted because CA78K0R interprets 
    as the lower 2 bytes of the value.

    When using the option -MIRCHK, a label in a mirror area is not excepted but the error is outputted against a value 
    out of the specified range.

Changes from V1.41 to V1.50 (Nov. 1, 2012)

1. Improved CRC calculating function
    - The CRC calculating function conforming to the SENT-specification has been supported.
    - The error which occurs when the calculating range is checked has been removed.

2. Improved start-up routine
    - A routine to initialize the stack area has been added.
    - Changes have been made to the initialization processing of the saddr area. 

3. Increased number of nests that can be processed
    - The number of nesting levels in a macro: from 200 to 10000
    - The number of nesting levels in an expression enclosed with the parentheses: from 32 to 1024

4. Improved generation of code using extended instructions
    The code has been improved for the devices using the extended instruction in the following operations:
    - Multiplication of variables of Type "signed int" or "unsigned int"
    - Division or remainder operation of variables of Type "unsigned char", "unsigned int" or "unsigned long"

5. Improved floating-point operations
    The processing time of the floating-point operations (multiplication and division) has been reduced.

6. #asm statement improved
    The following problem has been fixed:
    - In a C source file, if a symbol which is not managed by the C compiler and has a name of 9 characters or more is
     externally defined and declared to be externally referenced by using #asm, E3405 error occurs during linking.
    This error has been removed in this improvement.

7. Improved bit field code
    The bit field code has been reduced.

8. Improvement on unions
    Aligning a union of odd bytes to the size of even bytes has reduced the code size. 

Change from V1.40 to V1.41 (Aug. 1, 2012)

Processing in the status where the license key is not inputted has been improved.

Changes from V1.30 to V1.40 (May 21, 2012)

1. Codes before and after an interrupt function modified
    When using the execution speed optimization (-qx1), codes before and after an interrupt function has been modified
    to reduce the execution clock count (processing speed).

2. Number of processing units compiled increased
    - The number of case label in a switch statement.
    - The number of character in a logical source line.
    - The number of macro-identifier which can be defined in a unit compiled at a time.
    - The number of member in a structure or union.

3. New on-chip debugging function supported
    An MCU mounted a trace RAM and hot plug-in RAM has been supported.

Changes from V1.20 to V1.30

1. Caution of Ver.1.20 eliminated:
    The restriction described below has been eliminated.
    - Caution for error of the list converter.

2. Changes of CA78K0R
    - RL78/G12 has been supported.
    - The code for self-programming has been improved.
    - The batch file has been improved.