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