aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr32571.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr32571.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr32571.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr32571.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr32571.c
new file mode 100644
index 000000000..9592e3f36
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr32571.c
@@ -0,0 +1,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));
+}