20040304-1.c
来自「linux下的gcc编译器」· C语言 代码 · 共 46 行
C
46 行
/* PR optimization/14235 *//* Origin: <senor_fjord@yahoo.com> */typedef signed char int8_t;typedef short int16_t;typedef int int32_t;typedef unsigned long long uint64_t;static const uint64_t LOW_BYTE_MASK = 0x00000000000000ffULL;static const uint64_t HIGH_BYTE_MASK = 0x000000000000ff00ULL;static const uint64_t WORD_MASK = 0x000000000000ffffULL;static const uint64_t DWORD_MASK = 0x00000000ffffffffULL;extern uint64_t *srca_mask;extern int *assert_thrown;void foo(){ uint64_t tempA = 0; /* actually a bunch of code to set A */ uint64_t tempB = 0; /* actually a bunch of code to set B */ /* cast A to right size */ tempA = (((*srca_mask == LOW_BYTE_MASK) || (*srca_mask == HIGH_BYTE_MASK)) ? ((int8_t)tempA) : ((*srca_mask == WORD_MASK) ? ((int16_t)tempA) : ((*srca_mask == DWORD_MASK) ? ((int32_t)tempA) : tempA))); /* cast B to right size */ tempB = (((*srca_mask == LOW_BYTE_MASK) || (*srca_mask == HIGH_BYTE_MASK)) ? ((int8_t)tempB) : ((*srca_mask == WORD_MASK) ? ((int16_t)tempB) : ((*srca_mask == DWORD_MASK) ? ((int32_t)tempB) : tempB))); if ((int) tempA > (int) tempB) { *assert_thrown = 1; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?