switch-warn-1.c

来自「linux下编程用 编译软件」· C语言 代码 · 共 48 行

C
48
字号
/* { dg-do run } *//* { dg-options "-O0" } */extern void abort (void);extern void exit (int);/* Check that out-of-bounds case warnings work in the case that the   testing expression is promoted.  */intfoo1 (unsigned char i){  switch (i)    {    case -1:   /* { dg-warning "case label value is less than minimum value for type" } */      return 1;    case 256:  /* { dg-warning "case label value exceeds maximum value for type" } */      return 2;    default:      return 3;    }}/* Like above, but for case ranges that need to be satured.  */intfoo2 (unsigned char i){  switch (i)    {    case -1 ... 1:   /* { dg-warning "lower value in case label range less than minimum value for type" } */      return 1;    case 254 ... 256:  /* { dg-warning "upper value in case label range exceeds maximum value for type" } */      return 2;    default:      return 3;    }}intmain (void){  if (foo1 (10) != 3)    abort ();  if (foo2 (10) != 3)    abort ();  exit (0);}

⌨️ 快捷键说明

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