Update information for CubeSuite
Build Tool for 78K0R
Change form V1.02 to V1.10.
Removal of restrictions
The restrictions of CA78K0R Ver.1.02 have been eliminated.
- No.30 The C0101 error occurs when the -qj option is specified
-
[Description]
The C0101 error occurs if both of the following conditions are satisfied.
(1) The jump optimization option (-qj) is enabled.
(2) Any of the following code is included in processing that is not executed,
such as an if(0) or if(1) else statement:
- Initialization for arrays, structures, or unions
- switch statements accompanying table jumps
- No.31 Restriction on type-casting addresses in the far area to a long or unsigned long
-
[Description]
If an address in the far area is type-cast to a long or unsigned long and the result is used as the initial value of the address, the highest byte of the address is fixed to 0FH.
- No.32 Macro expansion using the ## operator results in an error
-
[Description]
The E0803 error might occur if the ## operator is not followed by a function-like macro parameter, capital or small letter, or underscore (_).
In addition, using the ## operator might cause errors other than E0803, such as E0711 or E0301.
- No.33 Symbol information for an interrupt function is not output to the assembler source
-
[Description]
The E3405 error occurs during linking if all the following conditions are satisfied:
(1) #pragma interrupt is used to specify the generation of a vector table for an interrupt function.
(2) The interrupt function is not defined in the same source.
(3) The -no and (-a or -sa) , options are enabled.
Removal of cautions
The caution of CA78K0R Ver.1.02 has been eliminated.
-
[Description]
An error occurs if sreg, __sreg, or __directmap is declared following the typedef name.
If sreg, __sreg, or __directmap is declared following the typedef name, the E0710 error occurs.
Changes in Specifications
This section describes the changes in the compiler specifications.
-
(1) Addition of ROMization function for Self programing
The ROMization function for Self programing has been added.
(2) Support of RL78 family
It supports RL78 family. (Not support product with expanded instructions.)
(3) Support of Sum of products calculator
The "#pragma mac", "macuw function", "macsw function" for Sum of products calculator
has been added.
(4) Increase of line number information to conditional expression
The line number information to conditional expression has been increased.
(5) Improvement of debugging information
The method of registering an assembler symbol name of 8 characters or longer in the C source to
a Symbol information (debugging information) has been improved.
Change form V1.01 to V1.02
Restrictions eliminated (Bild Tool)
The restriction described below has been eliminated.- No.29 In either of the cases below, the output code is invalid.
-
[Description]
In either of the cases below, the output code is invalid.
For the word[BC] operand, if the word + BC address exceeds 10000H, an unintended address is accessed.
(1)Indirect reference is performed by subtracting a constant from a pointer. However, this does not apply in the following cases
(2)When referencing an array element, the variable used as the index contains a negative value, or indirect reference is performed by adding an offset (including a variable that contains a negative value) to the address indicated by an aggregate*1.
*1 An aggregate is a structure or array.
Changes in Specifications
The items output to the cross reference list file have been changed.
Changes from V1.00 to V1.01
Restrictions eliminated
Two restrictions described below have been eliminated.- No.27 An error occurs when the -ng option is specified and a branch instruction is used in a function that includes the asm statement.
-
[Description]
If the -ng option is specified and a branch instruction is used after the asm statement in a function, an error might occur. This error might occur if both of the following conditions are satisfied:
[Conditions]
(1) The asm statement is used in a function.
(2) A statement that causes processing to branch (such as if, for, or while) is used in the same function.
However, if the above conditions are satisfied, the error occurs during assembly and the object module
file is not generated. If no error occurs, this restriction does not apply.
- No.28 The line number is not output for a statement that immediately follows a nested if statement and is outside that statement’s conditional block.
-
[Description]
If all of the conditions below are satisfied, the line number might not be output for a statement that immediately follows a nested if statement and is outside that statement’s conditional block.
However, the output code is correct. A break point cannot be specified for a statement for which the line number is not output.
[Conditions]
(1) There are at least three levels of nested if statements.
(2) An else statement in a higher nested level has a larger line number than a nested if statement.
(3) At least one statement immediately follows an if statement in a higher nested level.
Improvement of line information on the same-named segments
Line information on the same-named segment define in two or more files has been enhanced.
Back to top