So maybe the Gentoo distro has some problem...
No, I've tried compiling gcc-4.6-20100911 on ubuntu 10.04, the same
problem also happened;
and I also found that macro was defined in a generated header file, in
the gcc build directory;
renquan@flyer-1-1:~/src/gcc-4.6-build$ grep -RsInw
ggc_alloc_cleared_lang_type gcc/
gcc/gtype-desc.h:2451:#define ggc_alloc_cleared_lang_type() ((struct
lang_type *)(ggc_internal_cleared_alloc_stat (sizeof (struct
lang_type) MEM_STAT_INFO)))
this definition just doesn't accept any arguments, but inside
gcc/c-decl.c:7028 and 7311:
space = ggc_alloc_cleared_lang_type (sizeof (struct lang_type));
lt = ggc_alloc_cleared_lang_type (sizeof (struct lang_type));
both passes 1 argument, so the compiler report error, so the problem
is how can you succeed compiling that?