(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
20220518-1.c
       1  /* { dg-do compile } */
       2  /* { dg-additional-options "-funswitch-loops" } */
       3  
       4  enum {
       5    MOD_WVG_MASK_TEX_USE_INT,
       6    MOD_WVG_MASK_TEX_USE_RED,
       7    MOD_WVG_MASK_TEX_USE_BLUE,
       8    MOD_WVG_MASK_TEX_USE_SAT,
       9    MOD_WVG_MASK_TEX_USE_VAL,
      10    MOD_WVG_MASK_TEX_USE_ALPHA
      11  } foo_num;
      12  float *foo_org_w;
      13  int *foo_new_w;
      14  float foo_fact;
      15  int foo_tex_use_channel, foo_i, foo_texres_0;
      16  void foo()
      17  {
      18    for (; foo_num;)
      19      switch (foo_tex_use_channel) {
      20      case MOD_WVG_MASK_TEX_USE_INT:
      21        foo_org_w[foo_i] = foo_new_w[foo_i] * foo_texres_0;
      22        break;
      23      case MOD_WVG_MASK_TEX_USE_RED:
      24        foo_org_w[foo_i] = 0;
      25      case MOD_WVG_MASK_TEX_USE_BLUE:
      26        foo_org_w[foo_i] = foo_fact + foo_org_w[foo_i];
      27        break;
      28      case MOD_WVG_MASK_TEX_USE_SAT:
      29        foo_org_w[foo_i] = foo_fact;
      30        break;
      31      case MOD_WVG_MASK_TEX_USE_VAL:
      32        foo_org_w[foo_i] = 0;
      33      case MOD_WVG_MASK_TEX_USE_ALPHA:
      34        foo_org_w[foo_i] = foo_fact + foo_org_w[foo_i];
      35        break;
      36      default:
      37        foo_org_w[foo_i] = foo_new_w[foo_i] * foo_texres_0;
      38      }
      39  }