gengtype doesn't support anonymous structures or unions, you need to give them a name. (I don't remember if this is simply a limitation of the existing implementation or if it's more fundamental.)
OK, naming them has helped. Out of curiosity, why does following typedef int *lambda_vector; typedef lambda_vector *lambda_matrix; typedef struct GTY(()) { lambda_matrix matrix; /* <---- here */ int rowsize; int colsize; int denominator; } *lambda_trans_matrix; make gengtype complain about unknown type "lambda_matrix"? -- Laurynas