(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
pr103405.c
       1  typedef __SIZE_TYPE__ size_t;
       2  void *malloc(size_t);
       3  
       4  static inline int *starter(int a)
       5  {
       6      int *b = malloc(sizeof(int));
       7      *b = a;
       8      return b;
       9  }
      10  
      11  static inline _Bool equal(int *l, int *r)
      12  {
      13      if (l == 0)
      14        __builtin_abort();
      15      if (r == 0)
      16        __builtin_abort();
      17      return *r == *l;
      18  }
      19  
      20  int main(void)
      21  {
      22    int *i;
      23    int *j;
      24    void check(_Bool a)
      25    {
      26      _Bool t = equal(i, j);
      27      if (a && t) __builtin_abort ();
      28      _Bool t1 = equal(i, j);
      29      if (!a && !t1) __builtin_abort ();
      30    }
      31    i = starter(1);
      32    j = starter(0);
      33    check(1);
      34    i = starter(0);
      35    check(0);
      36  
      37  }