Hello, On Fri, Aug 03, 2012 at 04:47:47PM -0700, Linus Torvalds wrote: > On Fri, Aug 3, 2012 at 3:36 PM, Tejun Heo <t...@kernel.org> wrote: > > > > I suppose you mean unsized. I remember this working. Maybe I'm > > confusing it with zero-sized array. Hmm... gcc doesn't complain about > > the following. --std=c99 seems happy too. > > Ok, I'm surprised, but maybe it's supposed to work if you do it inside > another struct like that, exactly so that you can preallocate things..
Yeah, I think the rule is var array should be the last member of any given struct definition. Once a struct is defined, its alignment and size are fixed and it behaves like any other struct. > Or maybe it's just a gcc bug. I do think this all is way hackier than > Sasha's original simple code that didn't need these kinds of games, > and didn't need a size member at all. > > I really think all the extra complexity and overhead is just *bad*. > The first simple version was much nicer and likely generated better > code too. The size member could have performance impact in extreme cases. If we're looking for something simple & fast, maybe just pass in @size as argument and be done with it? Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/