Thread (33 messages) flat view 33 messages, 6 authors, 2012-08-05

Re: [RFC v2 1/7] hashtable: introduce a small and naive hashtable

From: Tejun Heo <tj@kernel.org>
Date: 2012-08-03 22:36:48
Also in: linux-mm, lkml

On Fri, Aug 03, 2012 at 03:29:10PM -0700, Linus Torvalds wrote:
On Fri, Aug 3, 2012 at 3:23 PM, Tejun Heo [off-list ref] wrote:
quoted
I actually meant an enclosing struct.  When you're defining a struct
member, simply putting the storage after a struct with var array
should be good enough.  If that doesn't work, quite a few things in
the kernel will break.
The unsigned member of a struct has to be the last one, so your struct
won't work.
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.

  #include <stdio.h>

  struct A {
	  int i;
	  long ar[];
  };

  struct B {
	  struct A a;
	  long ar_storage[32];
  };

  int main(void)
  {
	  printf("sizeof(A)=%zd sizeof(B)=%zd\n", sizeof(struct A), sizeof(struct B));
	  return 0;
  }

$ ./a.out
sizeof(A)=8 sizeof(B)=264

-- 
tejun

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help