bug-460010.c
来自「sdcc是为51等小型嵌入式cpu设计的c语言编译器支持数种不同类型的cpu」· C语言 代码 · 共 40 行
C
40 行
/* bug 460010 */#include <testfwk.h>#ifdef SDCC#ifdef SDCC_pic16#define ADDRESS 0x0070#else#define ADDRESS 0xa000#endif /* SDCC_pic16 */#endif /* SDCC */void func( unsigned char a ){ UNUSED(a);}voidtestBadPromotion(void){#ifdef SDCC unsigned char c=*((unsigned xdata char*)(ADDRESS));#else unsigned char loc_c; unsigned char c=*(unsigned char*)&loc_c;#endif func(c); c+='0'; /* is evaluated as an 8-bit expr */ func(c); c+='A'-'0'; /* is a 16-bit expr ??? */ func(c); }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?