(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
pr47446-1.c
       1  /* { dg-do assemble } */
       2  /* { dg-options "-O2" } */
       3  
       4  extern void abort (void);
       5  enum
       6  {
       7    __GCONV_OK = 0,
       8    __GCONV_NOCONV,
       9    __GCONV_NODB,
      10    __GCONV_NOMEM,
      11    __GCONV_EMPTY_INPUT,
      12    __GCONV_FULL_OUTPUT,
      13    __GCONV_ILLEGAL_INPUT,
      14    __GCONV_INCOMPLETE_INPUT,
      15    __GCONV_ILLEGAL_DESCRIPTOR,
      16    __GCONV_INTERNAL_ERROR
      17  };
      18  int
      19  foo (int result)
      20  {
      21    int irreversible = 0;
      22    switch (result)
      23      {
      24      case __GCONV_ILLEGAL_INPUT:
      25        irreversible = -1L;
      26        break;
      27      case __GCONV_FULL_OUTPUT:
      28        irreversible = -2L;
      29        break;
      30      case __GCONV_INCOMPLETE_INPUT:
      31        irreversible = -3L;
      32        break;
      33      case __GCONV_EMPTY_INPUT:
      34      case __GCONV_OK:
      35        break;
      36      default:
      37        abort ();
      38      }
      39    return irreversible;
      40  }