つか普通は
void func( void ) {
struct foo a;
printf( "%d\n", sizeof(a.name) );
}
としてもaはpushされないよ。
気に入らないと言われたらそれまでだが。