2012/7/4 Jonathan Wakely <jwakely....@gmail.com>: > At some point in the past few weeks it became impossible to build > trunk from a sparse checkout that omits certain directories. > > Because I nearly always configure with --enable-languages=c,c++ I use > git's core.sparseCheckout=true config or "svn update --set-depth" to > avoid checking out the front-ends, libs and tests for java, fortran > and ada. This has always worked fine until recently, when it resulted > in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53832 > > /home/jwakely/src/gcc/gcc/cp/lex.c:559:41: error: macro > "ggc_alloc_cleared_lang_decl" passed 1 arguments, but takes just 0 > /home/jwakely/src/gcc/gcc/cp/lex.c: In function 'retrofit_lang_decl': > /home/jwakely/src/gcc/gcc/cp/lex.c:559: error: 'ggc_alloc_cleared_lang_decl' > undeclared (first use in this function) > > I know what I'm trying to do isn't supported, but if the contents of > gcc/ada and gcc/fortran are required to build, shouldn't it be a hard > error if they're missing, rather than generating an unusable > gtype-desc.h file?
Gengtype is a mess in frontend processing too. It ignores --enable-languages, parses all the dirs it finds, and expects the types that are defined in multiple frontends, such as lang_decl, to have identical GTY options. Please try adding GTY variable_size option to those lang_decl declarations that don't have it (go, lto, c) If that doesn't help, then on Monday I'll look into this. -- Laurynas