------- Comment #2 from pinskia at gcc dot gnu dot org  2007-07-02 00:52 -------
Here is a more reduced testcase (without the inline-asm):

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));
}


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-07-02 00:52:04
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32571

Reply via email to