⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ast_constant_folding.c

📁 Small Device C Compiler 面向Inter8051
💻 C
字号:
/* Test ast_constant_folding() in SDCCast.c */#include <testfwk.h>volatile unsigned i;unsignedfoo_aa (void){  return i + 5 + i - i + 12;}unsignedfoo_asr (void){  return i - 5 + i + i + 12;}unsignedfoo_asl (void){  return 5 - i + i + 12;}unsignedfoo_ssr (void){  return i - 5 - i - i - 12;}unsignedfoo_ssl (void){  return 5 - i - i - 12;}unsignedfoo_sa (void){  return i + 5 - i - i - 12;}unsignedfoo_mul (void){  return 5 * i * i * 12;}unsignedfoo_div (void){  return 33971u / i / 5 / i / i / 12;}unsignedfoo_or (void){  return 5 | i | i | 12;}unsignedfoo_and (void){  return 5 & i & i & 12;}voidtest_ast_cf(void){  i = 30; ASSERT(foo_aa () ==    47);          ASSERT(foo_asr() ==    97);          ASSERT(foo_asl() ==    17);          ASSERT(foo_ssr() ==   -47);          ASSERT(foo_ssl() ==   -67);          ASSERT(foo_sa () ==   -37);          ASSERT(foo_mul() == 54000);  i =  3; ASSERT(foo_div() ==    20);  i =  3; ASSERT(foo_or () ==    15);  i =  7; ASSERT(foo_and() ==     4);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -