20020607-1.c

来自「用于进行gcc测试」· C语言 代码 · 共 41 行

C
41
字号
/* PR middle-end/6950   gcc 3.0.4 mistakenly set lhs.low to 0 at the beginning of the num_eq   expansion; it should use a temporary./* { dg-do run } */typedef struct cpp_num cpp_num;struct cpp_num{  long high;  long low;  char overflow;};#define num_eq(num1, num2) (num1.low == num2.low && num1.high == num2.high)static cpp_numnum_equality_op (lhs, rhs)     cpp_num lhs, rhs;{  lhs.low = num_eq (lhs, rhs);  lhs.high = 0;  lhs.overflow = 0;  return lhs;}int main(){  cpp_num a = { 1, 2 };  cpp_num b = { 3, 4 };  cpp_num result = num_equality_op (a, b);  if (result.low)    return 1;  result = num_equality_op (a, a);  if (!result.low)    return 2;  return 0;}

⌨️ 快捷键说明

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