ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 июля
11100
Sergey Pinigin (02.07.2004 13:43, просмотров: 4441)
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---------------