------- Comment #10 from pinskia at gcc dot gnu dot org  2007-08-20 11:55 
-------
Here is a new reduced testcase (compile at -O3 -fno-strict-aliasing):
struct rxvt_salloc {
  char *firstblock;
  unsigned int firstfree;
};
struct line_t {
   unsigned int *t;
   unsigned int f;
};
struct rxvt_salloc *talloc;
struct line_t *row_buf;
static inline unsigned * alloc (struct rxvt_salloc *this1)
{
  void *r;
  if (this1->firstfree > 65536)
    this1->firstfree = 4;
  r = (void *) ((char *)this1->firstblock + this1->firstfree);
  return (unsigned *)r;
}
void
scr_reset (int qlines)
{
  struct line_t *qline;
  int qrow;
  for (qrow = 0; qlines--; qrow++)
      (qline = row_buf)->t = alloc (talloc);
  qline->f &= ~0x0001;
  qline->t = alloc (talloc);
}


-- 


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

Reply via email to