SOFTUNE C COMPILER update (for F2MC) V30L13 -> V30L13R07 New Softune Workbench C-Compiler version V30L13R07 available.
For details please check the description in the attached .txt file.
In order to receive the update please contact:
email: mcu_info@fme.fujitsu.com
subject: SWB update V30L13R07
begin attached txt---------------
....
[Change history]
Starting with V30L04, this product has a detailed malfunction report
attached to it.
See the problem overview in [Bug-ID] and [Outline] shown below;
and when more detailed bug information is needed, read the bug report
stored at the location indicated by "[Bug report]".
[V30L13R06 to V30L13R07]
(1) Following bugs are fixed.
The following bugs are fixed (Please refer to an attached bug report).
[Bug-ID] fcc907sV3-20040608-01
[Outline] When optimization is specified, the RET instruction might
be deleted by mistake.
[Bug-ID] fcc907sV3-20040611-01
[Outline] When optimization is specified, the FLAG set instruction
might be deleted by mistake.
[V30L13R05 to V30L13R06]
(1) Following bugs are fixed.
The following bugs are fixed (Please refer to an attached bug report).
[Bug-ID] fcc907sV3-20040430-02
[Outline] The Linker error (E4329L: Value out of range) might occur.
[Bug-ID] fcc907sV3-20040518-01
[Outline] The result of the integer multiplication by 4-byte type
might be not accurate.
[V30L13R04 to V30L13R05]
(1) Changes
- Improvement of CALL+RET instruction
[Explanation]
The CALL instruction is replaced with the JMP instruction or
the BRA instruction when there is CALL instruction at the end
of the function where the exit code does not exist.
[Effect]
The reduction in the code size and the improvement of the
execution speed can be expected.
[Execution condition]
Always executes.
[Compatibility with old version(V30L13R04 or less)]
Please specify the following option when you evade this feature.
-Tc,-zbe=be6=105,-zbe=be6=106
- Improvement of 1 to 15 bytes struct transfer code
[Explanation]
The struct transfer code of the size of 1 to 15 bytes is
improved.
[Effect]
The improvement of the code size can be expected.
[Execution condition]
Executes when the optimization option other than -Kspeed option
is specified.
[Compatibility with old version(V30L13R04 or less)]
Please specify the following option when you evade this feature.
-Tc,-zbe=907xenh0032
- Improvement of 1, 2, and 4 byte struct transfer code
[Explanation]
The struct transfer code of the size of 1, 2, and 4 bytes is
improved.
[Effect]
The reduction in the code size and the improvement of the
execution speed can be expected.
[Execution condition]
Always executes.
[Compatibility with old version(V30L13R04 or less)]
Please specify the following option when you evade this feature.
-Tc,-zbe=907xenh0033
- The following error message was added.
The following error message was added along with the correction of
fcc896sV3-20040415-01.
E4244C: array is too large
(2) Following bugs are fixed.
The following bugs are fixed (Please refer to an attached bug report).
[Bug-ID] fcc907sV3-20040415-01
[Outline] The error check when the array is declared is wrong.
[Bug-ID] fcc907sV3-20040419-01
[Outline] The stack pointer might shift when strcpy() is used.
[Bug-ID] fcc907sV3-20040430-01
[Outline] When the section name of FAR_DATA, FAR_INIT and FAR_CONST
are changed by using #pragma segment and those sections are
arranged in a different bank, the access to the external
variable arranged by those sections is occasionally mistaken.
(3) Help
The following descriptions were added to help.
- Notes concerning arrangement of DIR section (5.4)
- The content of the compiler message was added (APPENDIX).
[V30L13R03 to V30L13R04]
(1) Changes
- Addition of register passing feature of function actual argument
[Explanation]
The option to support the interface to which the function
actual argument was passed by register (RW0,RW1) was added.
-rp : The actual argument is passed by the register.
-Xrp : Cancellation of -rp option.
[Effect]
The reduction in the code size and the amount of the stack use
and the improvements of the execution speed can be expected.
[Caution]
- Please link libraries with "_rp" when you specify the -rp
option.
- Operation when objects for which the -rp option is not
specified are linked is not guaranteed.
- Operation when the function without the function prototype
declaration is called is not guaranteed.
- Addition of feature to which boundary adjustment value of
arrangement address of DIR section is changed
[Explanation]
The option to change the boundary adjustment value of the
arrangement address of the DIR section to 1-byte or 2-byte was
added.
-align DIR1 : The DIR section is arranged at the address in
1-byte boundary.
-align DIR2 : The DIR section is arranged at the address in
1-byte boundary. (default)
-Xalign : Cancellation of -align option.
[Effect]
The variable that can specify the __direct type qualifier
increases, and the improvement of the code size can be
expected.
- Improvement of code size of switch-case statement
[Explanation]
The switch-case statement code is changed when speed
optimization (-Kspeed) is not specified, and the code size has
been improved.
[Effect]
The improvement of the code size can be expected.
[Execution condition]
Executes when the optimization option other than -Kspeed option
is specified.
[Compatibility with old version(V30L13R03 or less)]
Please specify the following options when you generate the same
switch-case statement code as the old version.
-Tc,-zfe=Fno-case-if-branch,-zfe=C5
- Addition of code hoisting optimization
[Explanation]
When speed optimization (-Kspeed) is not specified, the code
hoisting optimization is executed.
[Effect]
The improvement of the code size can be expected.
[Execution condition]
Executes when the optimization option other than -Kspeed option
is specified.
[Compatibility with old version(V30L13R03 or less)]
Please specify the following option when you evade this feature.
-Tc,-zmpa=Ano_code_hoisting
- Deletion of redundant MOV instruction
[Explanation]
A definition instruction the register not referred to by
following is deleted.
[Effect]
The reduction in the code size and the improvement of the
execution speed can be expected.
[Execution condition]
Always executes.
[Compatibility with old version(V30L13R03 or less)]
Please specify the following option when you evade this feature.
-Tc,-zbe=be6=103
- Improvement of JMP+RET instruction
[Explanation]
The JMP instruction is changed to the RET instruction when
there is RET instruction in the target of the JMP instruction.
[Effect]
The reduction in the code size and the improvement of the
execution speed can be expected.
[Execution condition]
Always executes.
[Compatibility with old version(V30L13R03 or less)]
Please specify the following option when you evade this feature.
-Tc,-zbe=be6=104
- Improvement of CALL+RET instruction
[Explanation]
The CALL instruction is changed to the JMP instruction when
there is RET instruction immediately after the CALL instruction,
and the RET instruction is deleted.
[Effect]
The reduction in the code size and the improvement of the
execution speed can be expected.
[Execution condition]
Always executes.
[Compatibility with old version(V30L13R03 or less)]
Please specify the following option when you evade this feature.
-Tc,-zbe=be6=105
- Deletion of unnecessary zero expanding instruction
[Explanation]
The result of comparison operation was generated when cast to
1-byte type, and redundant expanded instruction (EXT/ZEXT) is
deleted.
[Effect]
The reduction in the code size and the improvement of the
execution speed can be expected.
[Execution condition]
Always executes.
[Compatibility with old version(V30L13R03 or less)]
Please specify the following option when you evade this feature.
-Tc,-zbe=907xenh0006
- Enhancement of -K ACCOPT(Improvement of accumulator transfer code)
[Explanation]
The optimization of the accumulator transfer code applied when
the same value was continuously assignmented was enhancement.
[Effect]
The reduction in the code size and the improvement of the
execution speed can be expected.
[Execution condition]
Executes when the -Kaccopt option is specified.
[Compatibility with old version(V30L13R03 or less)]
Please specify the following option when you evade this feature.
-Tc,-zbe=907xenh0013
- Improvement of comparison code with constant (1-15)
[Explanation]
The comparison code with constant (1-15) has been improved.
[Effect]
The reduction in the code size and the improvement of the
execution speed can be expected.
[Execution condition]
Always executes.
[Compatibility with old version(V30L13R03 or less)]
Please specify the following option when you evade this feature.
-Tc,-zbe=907xenh0017
- Addition of optimization of the code generation order
[Explanation]
The order of the generation of the generation of the code of a
consecutive operation type is optimized and the amount of the
use of the work area in the register or the stack has been
reduced.
[Effect]
The reduction in the code size and the amount of the stack use
and the improvements of the execution speed can be expected.
[Execution condition]
Always executes.
[Compatibility with old version(V30L13R03 or less)]
Please specify the following option when you evade this feature.
-Tc,-zbe=xcostnode
- Addition of feature that arranges INTVECT section at arbitrary
address
[Explanation]
The arrangement address of the INTVECT section can have been
specified by #pragma section because it corresponded to the
kind that was able to arrange the vector table at the addresses
other than 0xFFFC00.
When the arrangement address is not specified, it arranges it
in 0xFFFC00 as usual.
[C source]
#pragma section INTVECT=INTVECT2,locate=0xFF3C00
#pragma intvect __start 0
[ASM output]
.SECTION INTVECT2, CONST, LOCATE=H'FF3C00
.ORG H'FF3FFC
.DATA.L ___start
[Execution condition]
Always executes.
[Compatibility with old version(V30L13R03 or less)]
Please specify the following option when you evade this feature.
-Tc,-zbe=907xivtsec_locatable
- Addition of feature to be able to initialize __far pointer with
__near pointer
[Explanation]
The feature to be able to initialize the __far pointer with the
__near pointer was added. When the __far pointer is initialized
with the __near pointer, higher 2-byte is expanded in zero.
(2) The C library file and the sample startup routine
lib/907/lib9*_rp.lib : 48 files
lib/907/lib9*_rp.stk : 48 files
lib/907/start9*_rp.asm : 24 files
lib/907/start9*_rp.obj : 24 files
[V30L13R02 to V30L13R03]
(1) Following bugs are fixed.
The following bugs are fixed (Please refer to an attached bug report).
[Bug-ID] fcc907sV3-20031105-01
[Outline] When optimization is specified, debugging information of
the local variable is not correct.
[Bug-ID] fcc907sV3-20031117-01
[Outline] When the pointer is declared the array to the incomplete
type array, the compile error is generated.
[Bug-ID] fcc907sV3-20031202-01
[Outline] When the loop unrolling is executed, the compiler might not
be terminated.
[Bug-ID] fcc907sV3-20040116-01
[Outline] When -f option is specified, an improper error message
might be output.
[Bug-ID] fcc907sV3-20040120-01
[Outline] When the -Kuchar option is specified, debugging information
of a plain char type is mistaken.
[Bug-ID] fcc907sV3-20040218-01
[Outline] The initial value of the pointer might be mistaken.
[Bug-ID] fcc907sV3-20040223-01
[Outline] The result of standard library function strtod(), atof(),
scanf(), fscanf(), and sscanf() might be incorrect.
[Bug-ID] fcc907sV3-20040225-01
[Outline] When the -INF srcin option is specified, the source line
comment output might be garbled.
[Bug-ID] fcc907sV3-20040226-01
[Outline] The immediate value that casted by the __far pointer might
be treated as __near pointer.
(2) The C library file
- Following the C library file's bug is fixed.
+-----------------------+-----------------------------------+
| [Bug-ID] | corrected files |
+-----------------------+-----------------------------------+
| fcc907sV3-20040223-01 | lib/907/lib*.lib |
| | strtod(), atof() |
+-----------------------+-----------------------------------+
[V30L13R01 to V30L13R02]
(1) Changes
- An unnecessary comparison instruction was not generated.
[Explanation]
An unnecessary comparison instruction was not generated.
[Execution condition]
Always executes.
[Compatibility with old version(V30L13 or less)]
Please specify the following option when you evade this feature.
-Tc,-zbe=be6=12,-zbe=be6=63
18
[V30L13 to V30L13R01]
(1) Following bugs are fixed.
The following bugs are fixed (Please refer to an attached bug report).
[Bug-ID] fcc907sV3-20031014-01
[Outline] When the -K ACCOPT option is specified in compact or large
model, 0 might not be correctly stored in the variable to
which __io type qualifier is specified.
[Bug-ID] fcc907sV3-20031023-01
[Outline] When the -XYitem option is specified, the compilation does
not operate normally occasionally.
[Bug-ID] fcc907sV3-20031024-01
[Outline] The reference to the variable used by the statement after
the default label might be mistaken.
....
end attached txt---------------
-
- Есть эникейщики, а есть ctrlC+ctrlV - ASDFS(02.07.2004 14:45)
- Не понял! Это наезд?! - Sergey Pinigin(02.07.2004 14:54)
- Это не наезд. Это дружеское предупреждение - ASDFS(02.07.2004 16:54)
- Предупреждения принимаю от webmastera ;-) - Sergey Pinigin(04.07.2004 08:19)
- Сергей, не обращайте внимания. Это был председатель кружка юных модераторов. - webmaster(04.07.2004 10:48)
- Так ты уже подписал мое заявление? ))) - ASDFS(04.07.2004 13:54)
- Угу. С тебя членский взнос. - webmaster(04.07.2004 15:36)
- Так ты уже подписал мое заявление? ))) - ASDFS(04.07.2004 13:54)
- Сергей, не обращайте внимания. Это был председатель кружка юных модераторов. - webmaster(04.07.2004 10:48)
- Предупреждения принимаю от webmastera ;-) - Sergey Pinigin(04.07.2004 08:19)
- Это не наезд. Это дружеское предупреждение - ASDFS(02.07.2004 16:54)
- Не понял! Это наезд?! - Sergey Pinigin(02.07.2004 14:54)
- Есть эникейщики, а есть ctrlC+ctrlV - ASDFS(02.07.2004 14:45)