1  /* PR target/92140 */
       2  
       3  char c;
       4  int v;
       5  
       6  __attribute__((noipa)) void f1 (void) { v += c != 0; }
       7  __attribute__((noipa)) void f2 (void) { v -= c != 0; }
       8  __attribute__((noipa)) void f3 (void) { v += c == 0; }
       9  __attribute__((noipa)) void f4 (void) { v -= c == 0; }
      10  __attribute__((noipa)) void f5 (void) { v += (c != 0) - 26; }
      11  __attribute__((noipa)) void f6 (void) { v -= (c != 0) - 26; }
      12  __attribute__((noipa)) void f7 (void) { v += (c == 0) - 26; }
      13  __attribute__((noipa)) void f8 (void) { v -= (c == 0) - 26; }
      14  __attribute__((noipa)) void f9 (void) { v += (c != 0) + 42; }
      15  __attribute__((noipa)) void f10 (void) { v -= (c != 0) + 42; }
      16  __attribute__((noipa)) void f11 (void) { v += (c == 0) + 42; }
      17  __attribute__((noipa)) void f12 (void) { v -= (c == 0) + 42; }
      18  __attribute__((noipa)) void f13 (int z) { v += (c == 0) + z; }
      19  __attribute__((noipa)) void f14 (int z) { v -= (c == 0) + z; }
      20  __attribute__((noipa)) unsigned int f15 (unsigned int n) { return n ? 2 : 1; }
      21  
      22  int
      23  main ()
      24  {
      25    int i;
      26    for (i = 0; i < 2; i++)
      27      {
      28        v = 15;
      29        if (i == 1)
      30  	c = 37;
      31        f1 ();
      32        if (v != 15 + i)
      33  	__builtin_abort ();
      34        f2 ();
      35        if (v != 15)
      36  	__builtin_abort ();
      37        f3 ();
      38        if (v != 16 - i)
      39  	__builtin_abort ();
      40        f4 ();
      41        if (v != 15)
      42  	__builtin_abort ();
      43        f5 ();
      44        if (v != 15 + i - 26)
      45  	__builtin_abort ();
      46        f6 ();
      47        if (v != 15)
      48  	__builtin_abort ();
      49        f7 ();
      50        if (v != 16 - i - 26)
      51  	__builtin_abort ();
      52        f8 ();
      53        if (v != 15)
      54  	__builtin_abort ();
      55        f9 ();
      56        if (v != 15 + i + 42)
      57  	__builtin_abort ();
      58        f10 ();
      59        if (v != 15)
      60  	__builtin_abort ();
      61        f11 ();
      62        if (v != 16 - i + 42)
      63  	__builtin_abort ();
      64        f12 ();
      65        if (v != 15)
      66  	__builtin_abort ();
      67        f13 (173);
      68        if (v != 16 - i + 173)
      69  	__builtin_abort ();
      70        f14 (173);
      71        if (v != 15)
      72  	__builtin_abort ();
      73        f13 (-35);
      74        if (v != 16 - i - 35)
      75  	__builtin_abort ();
      76        f14 (-35);
      77        if (v != 15)
      78  	__builtin_abort ();
      79      }
      80    if (f15 (0) != 1 || f15 (1) != 2 || f15 (371) != 2)
      81      __builtin_abort ();
      82    return 0;
      83  }