1  /* This test exposed a bug in combine where it was improperly changing
       2     the mode of a register.  The bug appeared to be latent until web
       3     was moved after combine.  This is the reduced test that fails 
       4     by crashing in reload.  */
       5  
       6  
       7  typedef struct cpp_reader cpp_reader;
       8  typedef struct cpp_string cpp_string;
       9  struct cpp_string
      10  {
      11    unsigned int len;
      12    const unsigned char *text;
      13  };
      14  struct cpp_callbacks
      15  {
      16    void (*ident) (cpp_reader *, unsigned int, const cpp_string *);
      17  };
      18  static void cb_ident (cpp_reader *, unsigned int, const cpp_string *);
      19  init_c_lex (void)
      20  {
      21    struct cpp_callbacks *cb;
      22    cb->ident = cb_ident;
      23  }
      24  cb_ident (cpp_reader * pfile __attribute__ ((__unused__)), unsigned int
      25  line
      26            __attribute__ ((__unused__)), const cpp_string * str
      27            __attribute__ ((__unused__)))
      28  {
      29    {
      30      cpp_string cstr = {
      31      };
      32      if (cpp_interpret_string (pfile, str, 1, &cstr, 0))
      33        {
      34        }
      35    }
      36  }