1  /* { dg-do run } */
       2  /* { dg-options "-O2" } */
       3  
       4  int bbb = 0;
       5  
       6  int __attribute__((noinline,noclone)) aaa(void)
       7  {
       8      ++bbb;
       9      return 0;
      10  }
      11  
      12  int __attribute__((noinline,noclone)) ccc(void)
      13  {
      14    int ddd;
      15    /* bbb == 0 */
      16    if (aaa())
      17      return bbb;
      18  
      19    /* bbb == 1 */
      20    ddd = bbb;
      21    /* bbb == ddd == 1 */
      22    if (aaa ())
      23      return 0;
      24    /* bbb == 2, ddd == 1 */
      25  
      26    return ddd;
      27  }
      28  
      29  int main(void)
      30  {
      31      if (ccc() != 1)
      32  	__builtin_abort();
      33      return 0;
      34  }
      35