4905666.C   [plain text]


/* APPLE LOCAL file radar 4905666 */
/* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
/* { dg-options "-O2 -m64" } */
inline void bar1 (long long *bm, long long bit)
{
  bm[bit/(sizeof (long long)*8)] &=
    ~(1UL << ((bit) % (sizeof (long long)*8)));
}

inline int bar2 (long long *bm, long long len)
{
  long long i;
  for (i = 0;
       i < (len + (sizeof (long long)*8)-1) / (sizeof (long long)*8); i++)
  {
    return (i*(sizeof (long long)*8));
  }
  return -1;
}

long long data[((sizeof (long long)*8)-1) / (sizeof (long long)*8)];

extern "C" long long foo (void)
{
  int index = bar2 (data, 0);
  bar1 (data, index);
  return 0;
}