On Thu, Jan 11, 2007 at 02:08:48AM +0100, Gabriel Dos Reis wrote: > I'm well aware of the history of "-Winit-self". The issue is more > subtile that you would like to make it appear. You would have to study > more carefully the threads relating to this issue. If you dig the > archive, you should be able to find example of > > circular_buffer buf = buf; > > [ or void* p = &p; ]
There isn't really a subtlety; void* p = &p is well-defined, and the same is true for other cases where only the address, but not the (undefined) value of the initializer is used. I consider 'int i = i;' a botch that somehow evolved into a promise. I'm not going to re-open the war of 2002, but I was never happy with it.