User`s guide

System LSI Division, Semiconductor Business
8 Property of Samsung Electronics Co., Ltd.
V1.56f
_beta3
May 16
th
2006
Fixed: Over the optimization level 1, ‘ldw/ldb’ instruction is used in access to 3-
dimension array with ‘code’ keyword
Ex>
#include <stdio.h>
code int arr[2][2][2] = {{{1,2},{3,4}}, {{5,6},{7,8}}};
void main(void) {
if (arr[1][0][0] != 5) // should be accessed by ‘ldc’ instruction
printf("fail\n");
}
V1.56f
_beta2
Apr. 24
th
2006
Fixed: interrupt function not declared with extern has some problem.
Fixed: when address optimization , compiler crashed.
V1.56f
_beta
Mar. 28
th
2006
Fixed: function pointer bug fixed.
Ex>
((unsigned char (*)(void)) (CmdTbl[0] & 0xffffff) ) () ;
Fixed: block copy bug fixed for generic and code keyword.
V1.56d
Mar. 28
th
2006
Ext: support SWI function call
Ex>
#pragma function = interrupt_swi 5
extern void inter1(int i);
test()
{
inter1(3); // can be changed ”SWI #5
}
Fixed: When literal includes the character “`”, “$”, or “@”, the warning was generated.
Ex>
char *p = “`$@”; // warning: “string literal contains non-portable characters”
Fixed: When the option “-ms” – “Global variable optimization (under 64K offset)” in IDE -
isn’t used, interrupt handler did not initialize “R9” even if “R9” is used in the
interrupt handler.
V1.56c
Feb. 28
th
2006
Fixed: The definition of variable with _at_ in local area generated infinite errors.
Ex>
void main(void) {
int i _at_ 0x201000; // generated infinite errors
}
Fixed: crash when you use the reserved keyword – for example int, align, code and so on
– following ‘pragma’.
Ex>
#pragma align // crashed
Æ
generates warning “unknown pragma”
#pragma code // crashed
Æ
generates warning “unknown pragma”
Fixed: When variable is defined by keyword '_at_' and the corresponing source line is
across internal buffer used in compiling, the compiler error is generated for correct
code because of mishandling buffer.
V1.56b
Jan. 20
th
2006
Fixed: Changed wrong debug information for stack depth in case of “main” function .