Re: Problem with gcc.c-torture/execute/960608-1.c on dataflow

2005-12-08 Thread Daniel Berlin
On Wed, 2005-12-07 at 21:55 -0700, Roger Sayle wrote: > Hi Dan, > > On Wed, 7 Dec 2005, Daniel Berlin wrote: > > This is *already* wrong, AFAICT, because reg:QI 58 is uninitialized, and > > we are trying to use it's value. Why do we do this? > > This may have been a rhetorical question, but the

Re: Problem with gcc.c-torture/execute/960608-1.c on dataflow

2005-12-07 Thread Roger Sayle
Hi Dan, On Wed, 7 Dec 2005, Daniel Berlin wrote: > This is *already* wrong, AFAICT, because reg:QI 58 is uninitialized, and > we are trying to use it's value. Why do we do this? This may have been a rhetorical question, but the middle-end's RTL expanders are generating uses of uninitialized reg

Problem with gcc.c-torture/execute/960608-1.c on dataflow

2005-12-07 Thread Daniel Berlin
This case looks like this: typedef struct { unsigned char a : 2; unsigned char b : 3; unsigned char c : 1; unsigned char d : 1; unsigned char e : 1; } a_struct; foo (flags) a_struct *flags; { return (flags->c != 0 || flags->d != 1 || flags->e != 1