On 08/02/2012 10:41 PM, Josh Triplett wrote: > On Thu, Aug 02, 2012 at 07:54:42PM +0200, Sasha Levin wrote: >> /* I've "preprocessed" the DEFINE macro below */ >> union { >> struct hash_table table; >> struct { >> size_t bits; >> struct hlist_head buckets[32]; >> } >> } my_hashtable; > > That expansion doesn't match the macros. Using the most recent > definitions of DEFINE_HASHTABLE and DEFINE_STATIC_HASHTABLE from above, > the definition would look something like this: > > static union { > struct hash_table my_hashtable; > struct { > size_t bits; > struct hlist_head buckets[1 << 5]; > } __my_hashtable; > } = { .my_hashtable.bits = 5 };
It's different because I don't think you can do what you did above with global variables. You won't be defining any instances of that anonymous struct, so my_hashtable won't exist anywhere. -- 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/