(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
compile/
pr32571.c
       1  
       2  struct list_head {
       3   struct list_head *next, *prev;
       4  };
       5  struct ib_fmr {
       6   int *device;
       7   struct list_head list;
       8  };
       9  static inline
      10  struct mthca_fmr *to_mfmr(struct ib_fmr *ibmr)
      11  {
      12   const struct ib_fmr *__mptr = (ibmr);
      13   return (struct mthca_fmr *)( (char *)__mptr );
      14  }
      15  void mthca_unmap_fmr(struct list_head *fmr_list)
      16  {
      17   struct ib_fmr *fmr;
      18   if (mthca_is_memfree())
      19   {
      20   for (fmr =
      21   ({ const struct list_head *__mptr = ((fmr_list)->next); (struct ib_fmr *)(
      22  (char *)__mptr - 8 );});
      23   &fmr->list != (fmr_list);
      24   fmr = ({ const struct list_head *__mptr = (fmr->list.next); (struct ib_fmr
      25  *)( (char *)__mptr - 8);})
      26   )
      27    mthca_arbel_fmr_unmap(to_mfmr(fmr));
      28   }
      29   else
      30   for (fmr =
      31   ({ const struct list_head *__mptr = ((fmr_list)->next); (struct ib_fmr *)(
      32  (char *)__mptr - 8);});
      33    &fmr->list != (fmr_list);
      34    fmr = ({ const struct list_head *__mptr = (fmr->list.next); (struct ib_fmr
      35  *)( (char *)__mptr - 8);})
      36    )
      37    mthca_tavor_fmr_unmap(to_mfmr(fmr));
      38  }