Messages in this thread | | | Date | Thu, 12 Apr 2012 06:02:45 +0100 | From | Al Viro <> | Subject | Re: hlist_for_each_entry && pos (Was: task_work_queue) |
| |
On Wed, Apr 11, 2012 at 09:39:29PM -0700, Linus Torvalds wrote:
> The sad part is that if we allow that, we also get that *other* insane > C99 variable thing - mixing variables and code. > > I *like* getting warnings for confused people who start introducing > variables in the middle of blocks of code. That's not well-contained > like the loop variable. > > That said, most of the stuff in C99 are extensions that we used long > before C99, so I guess we might as well just add the stupid flag. And > discourage people from mixing declarations and code other ways (sparse > etc).
Yes, but... -std=gnu99 will break one of your pet extensions - (struct foo){0,1,2} will cease to be accepted in initializers of static storage duration objects (and -std=c99 will break a *lot* more than that). I wouldn't mind going for that (it's not a terribly large patch, at least it wasn't about a year ago when I've looked at that), but IIRC you really insisted on using that one... It mostly boiled down to things like - .lock = __SPIN_LOCK_UNLOCKED(init_fs.lock), + .lock = __SPIN_LOCK_INITIALIZER(init_fs.lock), etc.
| |