1  /* { dg-do run } */
       2  
       3  struct libkeccak_generalised_spec {
       4    int state_size;
       5    int word_size;
       6  } main_gspec;
       7  
       8  long gvar;
       9  
      10  int libkeccak_degeneralise_spec(struct libkeccak_generalised_spec *spec)
      11  {
      12    int state_size;
      13    int have_state_size = spec->state_size != -1;
      14    int have_word_size = spec->word_size;
      15  
      16    if (have_state_size)
      17      state_size = spec->state_size;
      18    if (have_word_size)
      19      gvar = 12345;
      20    if (have_state_size && state_size != spec->word_size)
      21      return 1;
      22    if (spec)
      23      gvar++;
      24    return 0;
      25  }
      26  
      27  int main()
      28  {
      29    main_gspec.state_size = -1;
      30    if (libkeccak_degeneralise_spec(&main_gspec))
      31      __builtin_abort();
      32    return 0;
      33  }