diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/gcc.c-torture/compile/pr32571.c | |
download | cbb-gcc-4.6.4-upstream.tar.bz2 cbb-gcc-4.6.4-upstream.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig;
imported gcc-4.6.4 source tree from verified upstream tarball.
downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.
if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/pr32571.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr32571.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr32571.c b/gcc/testsuite/gcc.c-torture/compile/pr32571.c new file mode 100644 index 000000000..9592e3f36 --- /dev/null +++ b/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)); +} |